public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}
List<Map<String, Object>> msgId = list1.stream().filter(distinctByKey(deviceRecord -> deviceRecord.get("msgId"))).collect(Collectors.toList());
本文介绍了一种使用Java Stream API去除集合中重复元素的方法。通过自定义Predicate并利用ConcurrentHashMap来实现对重复元素的过滤,确保每个元素的唯一性。此方法适用于需要保留元素顺序且避免重复的情况。
1444

被折叠的 条评论
为什么被折叠?



