往ArrayList 传自定义对象并重写Equals()
来源:互联网 发布:java选择题及答案解析 编辑:程序博客网 时间:2024/06/03 13:13
/*往ArrayList 传自定义对象并重新Equals()去除ArrayList集合中的重复元素。*//*将自定义对象作为元素存到ArrayList集合中,并去除重复元素。比如:存人对象。同姓名同年龄,视为同一个人。为重复元素。思路:1.对人描述,将数据封装进人对象2.定义容器,将人存入。3.取出*/import java.util.*;//必须导入的工具util包,否则无法识别ArrayListclass Person//自定义对象{ private String name;//属性 private int age; Person(String name, int age)//构造器 { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } public boolean equals(Object obj)//重写equals方法,原先的是判断是否同一对象,现在的是判断字符串 { if (!(obj instanceof Person))//instanceof 运算符是用来在运行时指出对象是否是特定类的一个实例 return false; Person p = (Person)obj; return this.name.equals(p.name)&& this.age == p.age; //this是调用者,表示后传入对象 调用equals()方法跟参数p.name进行比较 //name是String对象,调用String的equals()方法判断字符串内容是否相等,int 的==判断数字 }}class ArrayListTest2{ public static void sop(Object obj) { System.out.println(obj); } public static void main(String[] args) { ArrayList al = new ArrayList(); al.add(new Person("lisi01",30));//往ArrayList 集合链表里面传如自定义对象的引用地址 al.add(new Person("lisi02",32));//al.add(Object obj); Object obj = new Person al.add(new Person("lisi03",33)); al.add(new Person("lisi04",35)); al = singleElement(al);//调用去除重复元素方法 Iterator it = al.iterator();//迭代器返回的是Object类 while(it.hasNext()) { Person p = (Person)it.next();//强制类型转换 sop(p.getName()+"::"+p.getAge()); } } public static ArrayList singleElement(ArrayList al)//去除重复元素方法 { ArrayList newAl = new ArrayList();//定义一个临时容器。 Iterator it = al.iterator();//迭代器 while(it.hasNext())//遍历,条件为如果有下一个值 { Object obj = it.next();//装入List的对象指向it迭代的next方法 if(!newAl.contains(obj))//如果容器NewAl不包含传入的对象obj,表示不相同 newAl.add(obj);//则添加 } return newAl; }}
0 0
- 往ArrayList 传自定义对象并重写Equals()
- java小练习,往ArrayList中存自定义的对象
- ArrayList用equals方法判断对象是否在其中
- 向ArrayList集合中存入对象,并以让集合用自己设定的方式去除重复元素!(覆写equals方法)
- 多线程实现方式1:自定义一个类,继承Thread类,并重写run方法。
- 自定义对象ArrayList的indexOf用法
- C#自定义对象排序(数组/ArrayList)
- 集合框架--ArrayList集合存储自定义对象
- 让EasyUI的DataGrid直接内嵌的JSON对象,并重写formload方法
- java之继承并重写
- JS写自定义对象语法
- JAVA中自定义对象比较时重写equals…
- 自定义arraylist
- 自定义ArrayList
- 自定义ArrayList
- 自定义ArrayList
- ArrayList 的 contains()隐式调用了 对象的equals()
- 黑马程序员——ArrayList去除自定义对象的重复
- 注册表查看串口列表
- 存储过程1-用户登录实现
- maven创建spring项目之后,启动报错java.lang.ClassNotFoundException: org.springframework.web.**.**
- 链表
- FragmentActivity和Activity的具体区别在哪里
- 往ArrayList 传自定义对象并重写Equals()
- JavaScript学习笔记十九:标准对象-RegExp
- http请求加密
- 【Python学习笔记】IO编程:文件读写
- 播放器客户端整体流程
- Android设置程序最小运行的堆内存
- Java Set 排序
- 如何卸载rpm包
- android事件分发机制一