ArrayList 集合框架实例(数据去重)
来源:互联网 发布:淘宝珍珠内裤买家秀 编辑:程序博客网 时间:2024/05/21 17:07
import java.util.ArrayList;import java.util.Iterator;public class ArrayListDemo2_1 { public static void main(String[] args) { // 创建容器,添加数据 ArrayList al = new ArrayList(); al.add(new Person("wangba01", 11)); al.add(new Person("wangba03", 13)); al.add(new Person("wangba02", 12)); al.add(new Person("wangba01", 11)); al.add(new Person("wangba06", 16)); // 调用去重代码块,对al去重 al = go(al); // 通过迭代器,遍历所有元素 Iterator it = al.iterator(); while (it.hasNext()) { // 将al中的元素强转成Person类型,因为al中默认是Object类型;必须将object向下转型成Person,这样才能调用 // person中的getName()和getAge(); Person p = (Person) it.next(); sop(p.getName() + "....." + p.getAge()); // 当调用两次next()时,两次锁指向的并不是同一个元素,第二个next()是第一个next()的后面一个; // 也就是说,调用此行代码时,从al中是一次性取两个数 // sop(it.next().getName()+"..."+it.next().getAge()); } } // 去重代碼 public static ArrayList go(ArrayList al) { // 创建一个临时容器 ArrayList newAl = new ArrayList(); // 使用迭代器遍历传进来的al Iterator it = al.iterator(); while (it.hasNext()) { Object object = it.next(); // 判断当newAl中是否有相同的元素 // 如果newAl中不包含object;那么就将object放入newAl中 if (!newAl.contains(object)) newAl.add(object); } return newAl; } // 打印代码块 public static void sop(Object object) { System.out.println(object); }}class Person { // Person方法默认继承Object的equals方法。 // Object 类的 equals 方法实现对象上差别可能性最大的相等关系;即,对于任何非空引用值 x 和 y,当且仅当 x 和 y // 引用同一个对象时,此方法才返回 true(x == y 具有值 true)。 // 主函数中,运用new运算符创建Person对象,其内存地址不一样,所以当person调用object的equals方法时,进行地址比较,返回的仍是false; // 所以必须重写object的equals()方法 private String name; private int age; @Override public boolean equals(Object obj) { if (!(obj instanceof Person)) return false; Person p = (Person) obj; return this.name.equals(p.name) && this.age == p.age; } public Person(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; }}
1 0
- ArrayList 集合框架实例(数据去重)
- 集合框架--ArrayList练习实例
- ArrayList数据去重的简单方法
- MapReduce实例----数据去重
- 【MapReduce实例】数据去重
- 集合框架-去重字符串案例
- 集合框架-去重字符串案例-2
- 集合框架-去重自定义对象案例
- Python转换列表&&数据去重&&集合
- 为ArrayList去重
- ArrayList去重
- ArrayList练习 ,去重
- c# ArrayList去重
- Hadoop编程实例--数据去重
- MapReduce编程实例之数据去重
- 将一个Arraylist去重
- Vector 和 ArrayList去重
- 【Java】为ArrayList去重
- libreoffice
- Java中的迭代与递归
- Docker-compose整理
- TFS下的源代码控制
- webx-表单验证服务
- ArrayList 集合框架实例(数据去重)
- PCB Layout Procedure
- C++中的explicit关键字
- 第8周项目3-顺序串算法
- switch语句的简单应用(屏幕菜单)
- 第八周【项目五-计数的模式匹配】
- 第四周项目3(2)-单链表应用 连接单链表
- JAVA如何统计字符串的中、英文字符数量(中文、英文)(打印控制、数据量统计)
- Android:BitmapFactory.Options