黑马程序员技术交流社区
标题:
如何去掉ArrayList中的重复元素?
[打印本页]
作者:
liang926
时间:
2014-8-9 23:12
标题:
如何去掉ArrayList中的重复元素?
本帖最后由 liang926 于 2014-8-12 22:40 编辑
例如
/*
* 去掉ArrayList中的重复元素
*/
import java.util.*;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList array = new ArrayList();//创建一个集合
/*
* 在集合array中加入Person的信息
*/
array.add(new Person("lisi1",181));
array.add(new Person("lisi2",182));
array.add(new Person("lisi2",182));
array.add(new Person("lisi3",183));
array.add(new Person("lisi3",183));
array.add(new Person("lisi4",184));
System.out.println(array);
array = method(array);//调用method()方法除去array中重复的元素
System.out.println(array);
}
这个method的方法如何写,最后输出array中就没有了重复的元素,查过了API文档好像没有能实现该功能的方法,求指导,谢谢?
[/code]
作者:
hejinzhong
时间:
2014-8-10 03:02
思想是:新建一个集合,然后遍历原集合中的东西,判断新集合中是否有,没有则添加,最后返回新集合
作者:
jiangweibin2573
时间:
2014-8-10 03:09
思想和路上一样,代码如下
public static ArrayList method(ArrayList array) {
ArrayList arr = new ArrayList();
Iterator it = array.iterator();
while(it.hasNext()){
Object obj = it.next();
if(!arr.contains(obj))
arr.add(obj);
}
return arr;
}
复制代码
作者:
叶飞翔
时间:
2014-8-10 10:28
jiangweibin2573 发表于 2014-8-10 03:09
思想和路上一样,代码如下
嗯嗯,就是这样滴
作者:
唐覃利
时间:
2014-8-10 11:39
答案已详细了
作者:
执笔梦
时间:
2014-8-10 12:19
直接用set添加就好了。
作者:
微微微笑
时间:
2014-8-10 13:13
这个视频里有讲的
作者:
陶圣虎
时间:
2014-8-10 13:44
Arraylist 中有contains 和remove方法 会调用对象equals方法。题目需要Person具有equals方法。
作者:
小洁呵呵
时间:
2014-8-10 13:59
public static ArrayList<Person> method(ArrayList<Person> array) {
ArrayList<Person> arr = new ArrayList<Person>();
Iterator<Person> it = array.iterator();
while(it.hasNext()){
Person person = it.next();
if(!arr.contains(person))
arr.add(person);
}
return arr;
}
作者:
liang926
时间:
2014-8-10 20:49
jiangweibin2573 发表于 2014-8-10 03:09
思想和路上一样,代码如下
谢谢,明白了!
作者:
毕业生
时间:
2014-8-10 20:56
有好多 contains 还可以用Set集合中的 把它放到一个新set集合中 set集合是不能有重复元素的,然后clear原集合,再把Set集合里面元素拿回来!
作者:
dreamseekerkun
时间:
2014-8-10 21:21
再看下视频,讲解很清楚的,新建一个集合,迭代器取,contains,不细说了,你再看下视频吧
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2