6个回答
展开全部
最好的办法是用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);
}
}
如果你不想用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);
}
}
展开全部
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不允许重复的数据,所以自动会把重复的数据删除。
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不允许重复的数据,所以自动会把重复的数据删除。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把List中的元素倒到Set集合里,Set集合可以自动过滤重复元素
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以直接利用set得唯一性来解决
List list = new ArrayList();
Set set = new TreeSet();;
set.addAll(list);//OK
List list = new ArrayList();
Set set = new TreeSet();;
set.addAll(list);//OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SET应该不可以吧。他们都是collection对象,放到MAP里面,需要遍历。一个一个都加入MAP。然后转换成List就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询