JAVA中,如何去掉LIST里的重复元素

如题... 如题 展开
 我来答
czj880123
2011-11-16 · TA获得超过592个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:200万
展开全部
最好的办法是用Set,因为Set里面存放的数据是不重复的。
如果你不想用Set,那还可以向下面这样处理。

List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
for(Object obj:list){
//可以根据需要,在这里加上强制转型。
//如list里面存放的是一个User对象,那么加上User u = (User) obj;
if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
}
}
zhaols32
2011-11-16 · 超过12用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:78.6万
展开全部
ArrayList list = new ArrayList();
list.add("1");
list.add("2");
list.add("3");
list.add("2");
list.add("1");

HashSet hs = new HashSet();
for(int i=0;i<list.size();i++){
hs.add(list.get(i));
}
Iterator it = hs.iterator();
while(it.hasNext()){
String s = (String) it.next();
System.out.print(s+" ");
}
运行打印的结果是:3 2 1

这样就可以了。就是遍历一遍List,在遍历的时候把元素放到HashSet里面去,因为HashSet不允许重复的数据,所以自动会把重复的数据删除。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rosen326
2011-11-16 · TA获得超过633个赞
知道小有建树答主
回答量:279
采纳率:100%
帮助的人:233万
展开全部
把List中的元素倒到Set集合里,Set集合可以自动过滤重复元素
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
flyingFish211
2011-11-16 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
可以直接利用set得唯一性来解决
List list = new ArrayList();
Set set = new TreeSet();;
set.addAll(list);//OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
结婚喜临门
2011-11-16 · TA获得超过195个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:99.5万
展开全部
SET应该不可以吧。他们都是collection对象,放到MAP里面,需要遍历。一个一个都加入MAP。然后转换成List就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式