java8 stream distinct by key
2017-02-04 16:08
507 查看
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; }
deviceRecords.stream().filter(distinctByKey(deviceRecord -> deviceRecord.getDeviceMac())).forEach(deviceRecord -> { System.out.println(deviceRecord.getDeviceMac()); });
相关文章推荐
- Spark使用小结:Java版的GroupByKey示例
- updateStateByKey案例(Java版本)
- Spark算子详解之reduceByKey_sample_take_takeSample_distinct_sortByKey_saveAsTextFile_intersection
- 大型网站技术架构(四)--核心架构要素 开启mac上印象笔记的代码块 大型网站技术架构(三)--架构模式 JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
- java实现kafka整合spark streaming完成wordCount,updateStateByKey完成实时状态更新
- java 根据值获得键(map get key by value)
- java8 stream初试,map排序,list去重,统计重复元素个数,获取map的key集合和value集合
- java8 stream limit distinct map flatMap
- reduceByKeyAndWindow实现基于滑动窗口的热点搜索词实时统计(Java版本)
- MongoDB count distinct group by JavaAPI查询
- Java 8 Stream Collectors groupingBy 示例
- Java 8 Stream – Read a file line by line
- Spark Streaming---UpdatestateBykey(java)
- Java8 sort map by key or value
- spark【例子】count(distinct 字段) 简易版 使用groupByKey和zip
- Spark编程之基本的RDD算子之glom,substract,substractByKey,intersection,distinct,union
- CombineBykey实现distinct和groupby
- Spark之combineByKey详解Java
- Spark updateStateByKey Java 和 Scala 版本
- spark【例子】count(distinct 字段) 简易版 使用groupByKey和zip