集合框架_05_ArrayList集合
来源:互联网 发布:神优化单机游戏低配 编辑:程序博客网 时间:2024/06/05 17:02
一、去除ArrayList中的重复
/*去除ArrayList集合中的重复元素。*/class ArrayListTest {public static void sop(Object obj){System.out.println(obj);}public static void main(String[] args) {ArrayList al = new ArrayList();al.add("java01");al.add("java02");al.add("java01");al.add("java02");al.add("java01");//al.add("java03");/*在迭代时循环中next调用一次,就要hasNext判断一次。Iterator it = al.iterator();while(it.hasNext()){sop(it.next()+"...."+it.next());}*//**/sop(al);al = singleElement(al);sop(al);}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;}}
二、 将自定义对象作为元素存到ArrayList集合中,并去除重复元素
/* 将自定义对象作为元素存到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;}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;}/**/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 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
- 集合框架_05_ArrayList集合
- 集合_java集合框架
- 集合框架 HashSet集合
- 集合框架和集合
- 集合_java集合框架
- Java集合:集合框架
- 集合框架--HashSet集合
- 集合框架--TreeSet集合
- 集合框架--Map集合
- 集合框架_06_HashSet集合
- 集合_java集合框架
- 集合_java集合框架
- 集合框架-Collection集合
- 集合框架-List集合
- 集合框架-Set集合
- 集合框架-TreeSet集合
- 集合框架-TreeMap集合
- 集合框架-集合总结
- Android时间间隔 SystemClock.uptimeMillis 和 System.currentTimeMillis
- STM32F的几种串行通信总线总结
- 文件的编码方式
- Java自动装箱与拆箱
- 一切都是问题,一切都着落在自身
- 集合框架_05_ArrayList集合
- 【中级】字符串运用-密码截取
- Android--获取当前系统时间
- HDU 4216 Computational Geometry?【dp
- Fragment延迟加载
- jsp中的一些标签和EL表达式的使用
- 坦克小战结尾篇之子弹
- toj 4601 好老师
- Redis初识:2.通过初始化脚本启动Redis