Java中List集合里Contains和Remove方法的本质
来源:互联网 发布:食品朔源软件 编辑:程序博客网 时间:2024/06/05 03:25
Java中List集合里的Contains和Remove方法里都会调用Equals()方法, 所以如果要判断两个集合中是否包含相同对象,或者从一个集合中删除一个具体的对象,需要在对象类中重写Equals()方法,例如如下实例:
import java.util.*;/*将自定义对象作为元素存到ArrayList集合中,并去除重复元素。比如:存人对象。同姓名同年龄,视为同一个人。为重复元素。思路:1,对人描述,将数据封装进人对象。2,定义容器,将人存入。3,取出。List集合判断元素是否相同,依据是元素的equals方法。*/class Person{private String name;private int age;Person(String name,int age){this.name = name;this.age = age;}<strong><span style="color:#ff0000;">public boolean equals(Object obj){if(!(obj instanceof Person))return false;Person p = (Person)obj;//System.out.println(this.name+"....."+p.name);return this.name.equals(p.name) && this.age == p.age;}</span></strong>public String getName(){return name;}public int getAge(){return age;}}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 Demo());al.add(new Person("lisi01",30)); //al.add(Object obj);//Object obj = new Person("lisi01",30);al.add(new Person("lisi02",32));al.add(new Person("lisi02",32));al.add(new Person("lisi04",35));al.add(new Person("lisi03",33));al.add(new Person("lisi04",35));//al = singleElement(al);sop("remove 03 :"+al.remove(new Person("lisi03",33)));//remove方法底层也是依赖于元素的equals方法。Iterator it = al.iterator();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();if(!newAl.contains(obj))newAl.add(obj);}return newAl;}}
0 0
- Java中List集合里Contains和Remove方法的本质
- List的contains()和remove()方法探讨
- java List集合中contains方法总是返回false
- Java中List集合中contains()与indexOf()的区别
- Java中list集合ArrayList 中contains包含的使用
- Java 集合之List 集合的删除方法顺序分析以及remove和removeAll区别
- java 中执行list 的remove 方法
- Java中List的remove方法
- java集合框架中contains(),containsKey()和containsValue()的用法:
- 关于集合List的remove方法
- list.remove()时出问题,集合的remove方法注意事项
- 关于用集合的remove方法删除list集合中满足条件的元素问题
- Java集合框架(下)之List与Set的contains()方法
- Java中HashSet和TreeSet集合的本质
- Java属性,List的方法contains()。
- java中list的remove
- 关于list集合的remove和Iterator的remove
- 关于list集合的remove和Iterator的remove
- opecv第一个程序
- 成都三叠纪承接不同风格场景,角色,道具,3D建模,次世代等游戏美术外包
- 纯c语言单向链表
- 第十二周项目1代码
- hdu 1569 方格取数(2) 最小割
- Java中List集合里Contains和Remove方法的本质
- 支付宝也不老实
- 数据库子查询
- 当右键新建当中没有新建word、powerpoint、excel文档的选项
- Hadoop-2.2.0中文文档—— Common - 服务层认证
- 13周课后自主-项目一-(1) 数组大折腾
- 修改虚拟机镜像的root密码
- 微信设置菜单按钮并获取openid
- 配置VNC服务