Java_基础—去除ArrayList中重复自定义对象元素
2017-07-14 10:06
369 查看
新建一个Person类,属性为name, age
Alt + Shift +S → C 空参构造
Alt + Shift +S → O 有参构造
Alt + Shift +S → R 生成set和get 方法
Alt + Shift +S → S 生成toString方法
新建一个ArrayList类
Alt + Shift +S → C 空参构造
Alt + Shift +S → O 有参构造
Alt + Shift +S → R 生成set和get 方法
Alt + Shift +S → S 生成toString方法
package com.soar.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 + "]"; } @Override public boolean equals(Object obj) { Person p = (Person)obj; return this.name.equals(p.name) && this.age == p.age; } }
新建一个ArrayList类
package com.soar.list; import java.util.ArrayList; import java.util.Iterator; import com.soar.bean.Person; @SuppressWarnings({ "rawtypes", "unchecked","unused" }) public class Demo2_ArrayList { /* * * A:案例演示 * 需求:ArrayList去除集合中自定义对象元素的重复值(对象的成员变量值相同) * B:注意事项 * 重写equals()方法 * contains()判断是否包含,底层依赖的是equals()方法 * remove()判断是否删除,底层依赖的也是equals()方法 * 如果不重写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)); //ArrayList newlist = getSingle(list); //System.out.println(newlist); //[Person [name=张三, age=23], Person [name=李四, age=24]] list.remove(new Person("张三",23)); System.out.println(list); } /* * 创建新集合将重复元素去掉 * 1.明确返回值类型,返回ArrayList * 2.明确参数列表ArrayList * 分析: * 1.创建新集合 * 2.根据传入的集合(老集合)获取迭代器 * 3.遍历老集合 * 4.通过新集合判断是否包含老集合的元素,如果包含就不添加,不包含就添加 */ public static ArrayList getSingle(ArrayList list){ ArrayList newList = new ArrayList(); //1.创建新集合 Iterator it = list.iterator(); //2.根据传入的集合(老集合)获取迭代器 while(it.hasNext()){ //3.遍历老集合 Object obj = it.next(); //记录住每一个元素 if(!(newList.contains(obj))){ //如果新集合中不包含老集合中的元素 newList.add(obj); //将该元素进行添加 } } return newList; } }
相关文章推荐
- Java中ArrayList去除重复元素(包括字符串和自定义对象)
- 【java编程】Collection类之ArrayList去除自定义对象的重复元素
- Java将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
- 黑马程序员-将自定义对象最为元素存到ArrayList集合中,并去除重复元素
- 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
- 去除ArrayList集合中的重复自定义对象元素
- 集合框架(去除ArrayList集合中的重复自定义对象元素案例)
- 集合框架六:ArrayList——将自定义对象作为元素存储到ArrayList中,并去除重复元素
- Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)
- ArrayList去除集合中自定义对象元素的重复值
- 集合框架_去除ArrayList集合中的重复自定义对象元素案例
- ArrayList联系二------自定义对象,然后去除重复元素
- Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素
- ArrayList去除集合中自定义对象元素的重复值
- 去除ArrayList集合中的重复自定义对象元素
- Java_基础—去除ArrayList中重复字符串元素方式
- 黑马程序员—集合将自定义对象作为元素存储到ArrayList集合中,并去除重复元素。 比如:存人对象。同姓名同年龄,视为同一个人,为重复元素。
- 将自定义对象作为元素存到ArrayList集合中,并去除重复元素
- 黑马程序员-java基础-去除ArrayList中重复的字符串
- 将自定义对象存入到HashSet集合中并去除重复元素