0
点赞
收藏
分享

微信扫一扫

List<String> 查找重复记录


怎么从list中找出重复数据,以及这些重复数据的个数?

解决思路是:使用一个map,key用来记录list中的数据,value用来记录重复数据的个数,然后操作map来获取list中的重复数据即可,代码如下:

package com.Jevin.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test03 {

public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("a");
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("d");
list.add("d");

Map<String,Integer> map = new HashMap<>();
for(String str:list){
Integer i = 1; //定义一个计数器,用来记录重复数据的个数
if(map.get(str) != null){
i=map.get(str)+1;
}
map.put(str,i);
}
System.out.println("重复数据的个数:"+map.toString());


System.out.print("重复的数据为:");
for(String s:map.keySet()){
if(map.get(s) > 1){
System.out.print(s+" ");
}
}
}
}

执行结果如下:

List<String> 查找重复记录_List查找重复记录

举报

相关推荐

0 条评论