1.去除重复字符串
package com.online.msym;
import java.util.ArrayList;
import java.util.Iterator;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo1_ArrayList {
public static void main(String[] args) {
ArrayList list = new ArrayList();
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("c");
list.add("c");
list.add("c");
ArrayList newList = getSingle(list);
System.out.println(newList);
}
/*
* 创建新集合将重复元素去掉
* 1,明确返回值类型,返回ArrayList
* 2,明确参数列表ArrayList
*
* 分析:
* 1,创建新集合
* 2,根据传入的集合(老集合)获取迭代器
* 3,遍历老集合
* 4,通过新集合判断是否包含老集合中的元素,如果包含就不添加,如果不包含就添加
*/
public static ArrayList getSingle(ArrayList list) {
ArrayList tempList = new ArrayList(); //1,创建新集合
Iterator it = list.iterator(); //2,根据传入的集合(老集合)获取迭代器
while(it.hasNext()) { //3,遍历老集合
Object obj = it.next(); //记录住每一个元素
if(!tempList.contains(obj)) { //如果新集合中不包含老集合中的元素
tempList.add(obj); //将该元素添加
}
}
return tempList;
}
}
2.去除ArrayList中重复自定义对象元素
注意事项:必须重写equals()方法的,因为contains方法和remove方法底层都依赖于equals方法
package com.online.msym;
import java.util.ArrayList;
import java.util.Iterator;
import online.msym.bean.Person;
@SuppressWarnings({ "rawtypes", "unchecked" })
public class Demo2_ArrayList {
/**
* * 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同,即同姓名同年龄)
:注意事项: 重写equals()方法的
contains方法判断是否包含,底层依赖的是equals方法
remove方法判断是否删除,底层依赖的是equals方法
*/
public static void main(String[] args) {
ArrayList list = new ArrayList(); //创建集合对象
list.add(new Person("张三", 23));
list.add(new Person("张三", 23));
list.add(new Person("李四", 24));
list.add(new Person("李四", 24));
list.add(new Person("李四", 24));
list.add(new Person("李四", 24));
//ArrayList newList = getSingle(list); //调用方法去除重复
//System.out.println(newList);
list.remove(new Person("张三", 23));
System.out.println(list);
}
/*
* 创建新集合将重复元素去掉
* 1,明确返回值类型,返回ArrayList
* 2,明确参数列表ArrayList
*
* 分析:
* 1,创建新集合
* 2,根据传入的集合(老集合)获取迭代器
* 3,遍历老集合
* 4,通过新集合判断是否包含老集合中的元素,如果包含就不添加,如果不包含就添加
*/
public static ArrayList getSingle(ArrayList list) {
ArrayList tempList = new ArrayList<>(); //1,创建新集合
Iterator it = list.iterator(); //2,根据传入的集合(老集合)获取迭代器
while(it.hasNext()) { //3,遍历老集合
Object obj = it.next(); //记录住每一个元素
if(!tempList.contains(obj)) { //如果新集合中不包含老集合中的元素
tempList.add(obj); //将该元素添加
}
}
return tempList;
}
}
Person实体类:
package online.msym.bean;
public class Person {
private String name;
private int age;
public Person() {
super();
}
public Person(String name, int age) {
super();
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
//重写equals方法,用于判断连个Person对象是否相同
@Override
public boolean equals(Object obj) {
Person p = (Person)obj;
System.out.println("equals 方法被调用了,证明contains方法底层调用的是equals");
return this.name.equals(p.name) && this.age == p.age;
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# java
# arraylist去重复
# arraylist去除重复
# java对ArrayList中元素进行排序的几种方式总结
# Java ArrayList实现删除指定位置的元素
# Java集合删除元素ArrayList实例详解
# java集合类arraylist循环中删除特定元素的方法
# 2种Java删除ArrayList中的重复元素的方法
# Java 8 对 ArrayList 元素进行排序的操作方法
# 遍历
# 的是
# 重写
# 判断是否
# 李四
# 迭代
# 就不
# 自定义
# 将该
# 中不
# 不包含
# 返回值
# 连个
# 同年龄
# 变量值
# 依赖于
# 实体类
# Demo1_ArrayList
# println
# String
相关文章:
存储型VPS适合搭建中小型网站吗?
如何零基础在云服务器搭建WordPress站点?
网站制作难吗安全吗,做一个网站需要多久时间?
开心动漫网站制作软件下载,十分开心动画为何停播?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Python文件管理规范_工程实践说明【指导】
制作宣传网站的软件,小红书可以宣传网站吗?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何在阿里云虚拟主机上快速搭建个人网站?
招商网站制作流程,网站招商广告语?
建站主机服务器选购指南:轻量应用与VPS配置解析
建站之星导航如何优化提升用户体验?
如何快速辨别茅台真假?关键步骤解析
视频网站app制作软件,有什么好的视频聊天网站或者软件?
外汇网站制作流程,如何在工商银行网站上做外汇买卖?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何使用Golang table-driven基准测试_多组数据测量函数效率
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
名字制作网站免费,所有小说网站的名字?
如何快速搭建高效服务器建站系统?
代购小票制作网站有哪些,购物小票的简要说明?
浅谈Javascript中的Label语句
网站制作软件免费下载安装,有哪些免费下载的软件网站?
建站VPS推荐:2025年高性能服务器配置指南
北京制作网站的公司,北京铁路集团官方网站?
建站主机选购指南与交易推荐:核心配置解析
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
盐城做公司网站,江苏电子版退休证办理流程?
建站主机助手选型指南:2025年热门推荐与高效部署技巧
C#如何使用XPathNavigator高效查询XML
建站之星会员如何解锁更多建站功能?
枣阳网站制作,阳新火车站打的到仙岛湖多少钱?
如何基于云服务器快速搭建个人网站?
微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?
Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解
青岛网站建设如何选择本地服务器?
建站之星如何快速解决建站难题?
如何通过VPS搭建网站快速盈利?
建站主机选哪家性价比最高?
如何选择高效可靠的多用户建站源码资源?
浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?
C++中引用和指针有什么区别?(代码说明)
建站之星好吗?新手能否轻松上手建站?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
如何将凡科建站内容保存为本地文件?
如何在万网自助建站中设置域名及备案?
如何通过二级域名建站提升品牌影响力?
沈阳制作网站公司排名,沈阳装饰协会官方网站?
建站之星logo尺寸如何设置最合适?
*请认真填写需求信息,我们会在24小时内与您取得联系。