steam流式操作

jdk1.8后开始支持的stream流,最近用了流之后,都快不想写for循环了,流写起来实在是太方便了。

 

这里记录下我平时常用的几个操作:

List<Map<String,  Object>> 根据map中key为value的值进行排序

list.sort(Comparator.comparingLong(m -> Long.parseLong(m.get("value").toString())));

 

List<实体>转List<String>

List<String> strList = list.stream().map(实体::getId).collect(Collectors.toList())

 

List<Long>转 Map<Long, Long>

Map<Long, Long> map = list.stream().collect(Collectors.toMap(Function.identity(), Function.identity()));

 

List<Map<String,  Object>>转Map

Map map = list.stream().collect(Collectors.toMap(m -> m.get("index"), m -> m.get("value")));

 

List<Map<String,  Object>>转Set

Set set = list.stream().map(m -> m.get("value")).collect(Collectors.toSet());

 

上一篇:为什么一定要实现Comparable接口呢


下一篇:五.Comparable和Comparator接口