list中是否有重復元素,並取出重復的元素


一、String list中是否有重復元素

 

public static void main(String[] args) {
List<String> stringList=new ArrayList<>(Arrays.asList("a","a","b","c"));
long count = stringList.stream().distinct().count();
if (stringList.size() == count) {
System.out.println("沒有重復元素");
} else {
System.out.println("有重復元素");
}
}

 

 二、取出String list中重復的元素

List<String> telephoneList = new ArrayList<>();
//字符串取出重復值
List<String> repeatList = telephoneList.stream().collect(Collectors.groupingBy(e -> e, Collectors.counting()))
.entrySet().stream().filter(e -> e.getValue() > 1)
.map(Map.Entry::getKey).collect(Collectors.toList());

三、list去重 (根據單位id去重)

//根據單位id去重,取出不重復的單位列表

static List<Dept> distinctDeptList(List<Dept> deptList){

List<Dept> distinctList = deptList.stream().collect(
collectingAndThen(toCollection(() -> new TreeSet<>(Comparator.comparing(Dept::getDeptId))), ArrayList::new)
);

return distinctList;

}

四、list取出重復的單位id列表

//取出重復的單位列表
static List<String> repeatDeptList(List<Dept> deptList){

List<String> repeatList = deptList.stream().collect(Collectors.groupingBy(Dept::getDeptId, Collectors.counting()))
.entrySet().stream().filter(e -> e.getValue() > 1)
.map(Map.Entry::getKey).collect(Collectors.toList());

return repeatList;

}

參考文檔:

https://www.cnblogs.com/debugginging/p/13163813.html

https://www.cnblogs.com/cchilei/p/14831293.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM