一行程式碼 實現集合去重
阿新 • • 發佈:2018-12-10
1. 程式碼寫法:(這是針對元素為基本資料型別的集合)
針對引用型別元素去重見另一文:
/**
* 基本資料型別去重
*
* @param list
* @param <T>
* @return
*/
public static <T> List<T> deleteSame(List<T> list) {
return list.stream().distinct().collect(Collectors.toList());
}
2. 測試:
List<String> strList = new ArrayList(){{add("我");}{add("你");}{add("他");}{add("他");}{add("他");}}; List<Integer> intList = new ArrayList(){{add(11);}{add(11);}{add(33);}{add(11);}}; System.out.print("\n 去重前:\n"); listFor(strList); System.out.println(""); listFor(intList); System.out.println("\n 去重後:"); System.out.println(deleteSame(strList)); System.out.println(deleteSame(intList)); ... /** * for迴圈 * @param list * @param <T> */ public static <T> void listFor(List<T> list) { list.forEach(each -> System.out.print(each+" ")); }
執行結果: