怎样获取list集合里面的重复值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样获取list集合里面的重复值相关的知识,希望对你有一定的参考价值。

一个list里面有多个重复的值
将这个list里面多个重复的值分别放入别的list
listq,q,s,s,w,w,
接着将重复的值取出来分别放入别的list里去
listq.q
listw.w
lists.s

把值放set里,然后再取出来放入list就不会重复,参考如下:
String [] arr = "q","q","s","s","w","w";
Map <String, List<String>> hm = new HashMap<String , List<String>>();
List <String>l = Arrays.asList(arr);
for(Iterator <String>it = l.iterator();it.hasNext();)
String a = it.next();
List <String> temp = hm.get(a);
if(temp == null)
temp = new ArrayList<String>();
hm.put(a, temp);

temp.add(a);
参考技术A LinkedHashMap map = new LinkedHashMap(); List l1 = new ArrayList(); l1.add("1.1"); l1.add("1.2"); l1.add("1.3"); List l2 = new ArrayList(); l2.add("2.1"); l2.add("2.2"); l2.add("2.3"); List l3 = new ArrayList(); l3.add(“3.1”); l3.add("3.2"); l3.add("3.3"); map.put("1", l1); map.put("2", l2); map.put("3", l3); Set keys=map.keySet(); Iterator it=keys.iterator(); while(it.hasNext()) String key=(String)it.next(); System.out.println(key); List valuelist=(List)map.get(key); Iterator it2=valuelist.iterator(); while(it2.hasNext()) String value=(String)it2.next(); System.out.println(value); 参考技术B 列表<整数> inteList = XXXXXXXXXX。 / /在这里,你说的重复数据
把HashSet <整数>设置=新的HashSet <整数>();/ /创建一组重复
(整数集成:inteList值)/ / inteList要保存放
set.add(集成);

目录列表=新的ArrayList();
的list.addAll台(套);/ /设置到列表中追问

list 里面有什么东西我不知道
现在,我要把list里面的东西分别拿出来装入到别的list里面去
如list1,1,2,2,2,3,4,5,5将里面的数据分别装入新的list
lisr1,1
list2,2,2
list3
list4
listt5,5

参考技术C 这个个人感觉要进行遍历比较,把相同的抽取出来,在进行存放。 参考技术D 你这个问题应该是把问题想复杂化了,说一下你的具体应用事例追问

一个list里面有多个重复的值
将这个list里面多个重复的值分别放入别的list
listq,q,s,s,w,w,
接着将重复的值取出来分别放入别的list里去
listq.q
listw.w
lists.s

追答

既然是重复的值 那你都放入一个list有什么意义呢 还不如把每个重复的值记个数

利用linq to sql 建立查询方法返回值类型为List<T> 怎样去除集合中的重复数据?

或怎样在 返回值为 List<T>的方法中去除重复数据。Distinct()加在哪儿?

参考技术A 是某个字段重复 还是行数据不重复的记录?
取行记录不重复的数据
var list=new List<T>();
list=list.Distinct().ToList();
字段不重复你可用Group
(from temp in list
group temp by new temp.columns1,temp.columns2 into K
sele new
c1=K.Key.columns1,

c1=K.Key.columns2,
avg=K.avg(p=>p.*)

).Tolist();
参考技术B List<T> list;
list= (from p in list select p).Distinct().ToList();

以上是关于怎样获取list集合里面的重复值的主要内容,如果未能解决你的问题,请参考以下文章

利用linq to sql 建立查询方法返回值类型为List<T> 怎样去除集合中的重复数据?

怎样获取list集合中的最后一个对象中的值

怎样在jsp页面提取list集合的第一位第二位第三位等等的数据

集合详解(附集合框架图)

JavaScript 获取集合对象的元素个数

C# 2个List集合重复数据筛选