java:如何删掉list里面的重复的map?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java:如何删掉list里面的重复的map?相关的知识,希望对你有一定的参考价值。

如:new一个map=map.put("1","abc");list.add(map);new一个map=map.put("2","abc");再list.add(map);然后再new一个map=map.put("3","jsk");再list.add(map);然后再new一个map=map.put("4","abc");list.add(map);
想要运行后删掉2,4的map,怎么实现捏?小弟初学,求详细代码

public E remove(int index)

移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。
list.remove(1);
list.remove(2);
参考技术A 我在纳闷你为什么要new这么多map。

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

如题

最好的办法是用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);

参考技术A 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不允许重复的数据,所以自动会把重复的数据删除。
参考技术B 把List中的元素倒到Set集合里,Set集合可以自动过滤重复元素 参考技术C 可以直接利用set得唯一性来解决
List list = new ArrayList();
Set set = new TreeSet();;
set.addAll(list);//OK
参考技术D SET应该不可以吧。他们都是collection对象,放到MAP里面,需要遍历。一个一个都加入MAP。然后转换成List就可以了。

以上是关于java:如何删掉list里面的重复的map?的主要内容,如果未能解决你的问题,请参考以下文章

c# list<user> list中有重复的数据,去掉重复的数据,或删掉重复的数据

JAVA中的List里的Map 如何去除重复的Key?

Java里面List排序

java里有没有专门判断List里有重复的数据

java里有没有专门判断List里有重复的数据

Java复习 之容器