1. 集合遍历
List<String> list = Arrays.asList("苹果","梨","橘子");
// 简单使用遍历
list.stream().forEach(v->{
System.out.println(v);
});
2. 去重
List<String> list = Arrays.asList("苹果","梨","橘子","苹果");
// 去重使用
List<String> newlist = list.stream().distinct().collect(Collectors.toList());
newlist.stream().forEach(v->{
System.out.println(v);
});
结果打印
苹果
梨
橘子
3. 分组
List<Map<String, Object>> objList = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 15);
map.put("sex", "男");
objList.add(map);
Map<String, Object> map1 = new HashMap<>();
map1.put("name", "李四");
map1.put("age", 10);
map1.put("sex", "男");
objList.add(map1);
Map<String, Object> map2 = new HashMap<>();
map2.put("name", "王丽");
map2.put("age", 16);
map2.put("sex", "女");
objList.add(map2);
// 分组
Map<String, List<Map<String, Object>>> groupByData= objList.stream().collect(
Collectors.groupingBy(doc -> doc.get("sex").toString()));
// 输出
groupByData.forEach((k, v) -> System.out.println("key: " + k + " value:" + v));
// 结果
key: 女 value:[{sex=女, name=王丽, age=16}]
key: 男 value:[{sex=男, name=张三, age=15}, {sex=男, name=李四, age=10}]
4. 求和
int sumAge = objList.stream().mapToInt(doc->
Integer.parseInt(doc.get("age").toString())).sum();
System.out.println("总计:"+sumAge);
5. 平均值
double avgAge = objList.stream().mapToInt(doc->
Integer.parseInt(doc.get("age").toString())).average().getAsDouble();
System.out.println("平均值:"+avgAge);
慢慢长路~~~开启码农博客之路