一點一滴記錄 Java 8 stream 的使用
日常用到,一點一滴記錄,不斷豐富,知識積累,塑造自身價值。歡迎收藏
String 轉 List
String str = 1,2,3,4;
List<Long> lists = Arrays.stream(str.split(",")).map(s -> Long.parseLong(s.trim())).collect(Collectors.toList());
List 轉 String
list.stream().map(String::valueOf).collect(Collectors.joining(","))
List<> 物件獲取某個值 轉為 list<Long>
List<itemsBeans> = new ArrayList();
List<Long> items = itemsBeans.stream().map(ItemsBean::getItemid).collect(Collectors.toList());
Set 轉 List
Set<Long> sets = xxx
List<Long> hids = sets.stream().collect(Collectors.toList());
List 轉 Map<Long, String>
List<Hosts> hosts = xxxx
Map<Long, String> hostMap = hosts.stream().collect(Collectors.toMap(Hosts::getHostid,Hosts::getName, (k1, k2) -> k2));
List 轉 Map<Long, Object>
List<ItemTriggerGroupByName> hosts = xxxx
Map<Long, ItemTriggerGroupByName> appsMap= apps.stream().collect(Collectors.toMap(ItemTriggerGroupByName::getHostId, e -> e , (k1, k2) -> k2));
List 分組 轉 Map<Long, List<Object>>
Map<Integer, List<Apple>> groupBy = appleList.stream().collect(Collectors.groupingBy(Apple::getId));
List<Map<String,Object>> 轉 Map<String,Object>
List<Map<String, Object>> ma =
Map<String, Object> mapResource = ma.stream().map(Map::entrySet).flatMap(Set::stream).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (v1, v2) -> v2));
轉化 再改變 key
ma.stream().map(Map::entrySet).flatMap(Set::stream).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (v1, v2) -> { return v1 + "," + v2; }))
List 求和,最小,最大值,平均值獲取
單陣列型別
List<int> strs = Arrays.asList(34,5,1,76,23);
最小值
strs .stream().min(Comparator.comparing(Function.identity())).get();
最大值
strs .stream().max(Comparator.comparing(Function.identity())).get();
物件陣列型別
int sum = empList.stream().mapToInt(Employee::getAge()).sum();
int max = empList.stream().mapToInt(Employee::getAge()).max().getAsInt();
int min = empList.stream().mapToInt(Employee::getAge()).min().getAsInt();
double avg = empList.stream().mapToInt(Employee::getAge()).average().getAsDouble();
System.out.println("最大值:"+max+"\n最小值:"+min+"\n總和:"+sum+"\n平均值:"+avg);
相關文章
- Java8的Stream API使用JavaAPI
- Java 8 StreamJava
- 一點一滴探究 JVM 之記憶體結構JVM記憶體
- Java 8中的Stream API使用指南JavaAPI
- Java8 Lambda表示式與Stream API (二): Stream API的使用JavaAPI
- Java8 Stream完全使用指南Java
- Java8中Stream 的一些用法Java
- list轉map,使用java8,stream流Java
- 【java】Stream的使用Java
- Java8——Stream流Java
- java 8 特性——stream流Java
- Java 8 中Stream用法Java
- Java8中的Stream APIJavaAPI
- Java8 Stream的總結Java
- 使用Java 8 Stream像操作SQL一樣處理資料(上)JavaSQL
- 使用Java 8 Stream像操作SQL一樣處理資料(下)JavaSQL
- Java 8 Stream API: 深入理解與高效使用JavaAPI
- Java 8 Stream Api 中的 peek 操作JavaAPI
- Java8 Stream流的合併Java
- Java 8 Stream並行流Java並行
- JAVA8-stream學習Java
- 使用speedment以Java 8 Stream訪問資料庫Java資料庫
- Java 8新特性之旅:使用Stream API處理集合JavaAPI
- 使用Java 8的Stream API列出ZIP檔案中的條目JavaAPI
- Java8 中使用Stream 讓List 轉 Map使用總結Java
- 我學習使用java的一點體會(8) (轉)Java
- Java8中的 lambda 和Stream APIJavaAPI
- java 8 Stream,Optional的流庫詳解Java
- Java Stream流使用Java
- Java8 Lambda 之 Collection StreamJava
- Java8新特性--Stream APIJavaAPI
- java8新特性stream流Java
- Java 8 Stream之實戰篇Java
- java8Stream原理深度解析Java
- java8學習:引入streamJava
- 淺析Java8 Stream原理Java
- Java8 Stream常用API整理JavaAPI
- Java8新特性系列(Stream)Java