List集合中獲取重復元素
一、方法1
## 測試數(shù)據(jù) List<String> words = Arrays.asList("a", "b", "c", "d", "a", "d"); ## 具體方法 List<String> results = HashMultiset.create(words).entrySet().stream() .filter(w -> w.getCount() > 1) .map(Multiset.Entry::getElement) .collect(Collectors.toList()); System.out.println(results); ## 結果輸出 -- [a, d] --
二、方法2
/** * list集合中獲取重復元素 * @param list * @param <E> * @return */ public static <E> List<E> getListDuplicateElements(List<E> list){ List<E> words = list; Set<E> repeated = new HashSet<>(); List<E> results = new ArrayList<>(); for (E word : words) { if (!repeated.add(word)) { results.add(word); } } return results; }
方法測試:
## 測試數(shù)據(jù) List<String> str = new ArrayList<>(); str.add("張三"); str.add("張三"); str.add("李四"); str.add("王五");
## 方法調用 List<String> listDuplicateElements = getListDuplicateElements(str); System.out.println(listDuplicateElements);
## 結果輸出 -- [張三] --
古今成大事者,不唯有超世之才,必有堅韌不拔之志!

浙公網(wǎng)安備 33010602011771號