問題:我有一個實用函數,它接受一個通用列表來刪除重複項,現在當我使用List<String>
時,匹配不區分大小寫。代碼使用流(Java 8+),我想保持這種方式。從列表中刪除使用泛型的重複項
注:代碼是在JAVA 8+
代碼:
public static <T> List<T> removeDuplicates(List<T> inputList) {
List<T> result = null;
if (inputList != null && inputList.size() > 0) {
result = inputList.parallelStream().distinct().collect(Collectors.toList());
}
return result;
}
EG:
List<String> inputList = new ArrayList<String>();
inputList.add("a");
inputList.add("A");
inputList.add("abc");
inputList.add("ABC");
inputList.add("c");
當我們調用removeDuplicates(inputList)
並打印
值:
a
abc
c
我真的不關心,如果它選擇了a
ABC
在abc
或A
,但它應該有一次。
有沒有一個優雅的方式解決這個問題,而不是做一個instanceof
檢查?
你爲什麼不只是轉換了'List'到'Set'? –
如果你只處理'String',爲什麼要使方法通用? – Jezor
@MatthewDiana它仍然不會解決我的問題。設置刪除重複項,但不檢查不區分大小寫的部分... – StackFlowed