//1.计算元素之和
List<User> list = new ArrayList<>();
list.add(new User(10,"zhangshan "));
list.add(new User(11,"zhangshan "));
list.add(new User(12,"zhangshan "));
list.add(new User(13,"zhangshan "));
//集合用法
Integer a = list.stream().map(str -> str.getAge()).reduce(0,(v,b)->v+b);
//数组用法
int[] arrays = new int[]{1,2,3};
//int arr = Arrays.stream(arrays).reduce(0,Integer::sum);
int arr = Arrays.stream(arrays).reduce(0,(e,f) -> e+f);
List<Integer> list = Arrays.asList(1,2,3,4,5,6,7,8,9);
Integer sum = list.stream()
.reduce(0, (x, y) -> x + y);
System.out.println(sum);//计算集合中所有元素的总和
//2.list for循环遍历
List<User> list = new ArrayList<>();
List<String> list2 = new ArrayList<>();
User user = new User();
user.setAge(1);
user.setName("zhangsan");
list.add(user);
list.stream().forEach(str -> {
list2.add(str.getName());
});
//3.只取某列作为数据list
//如只取id列
List<Integer> idList = list.stream().map(LogsDO::getId).collect(Collectors.toList());
//4.list数据去重
list=list.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(()->new TreeSet<>(Comparator.comparing(Users::getMobile))),ArrayList::new));
//5.对list中对象中某数据进行排序
List<NurseHomeOrdersVo> waitReceiveOrder = new ArrayList<>();
Collections.sort(waitReceiveOrder, new Comparator<NurseHomeOrdersVo>() {
@Override
public int compare(NurseHomeOrdersVo o1, NurseHomeOrdersVo o2) {
int i = o1.getDistance().intValue();
int i1 = o2.getDistance().intValue();
return i - i1;
}
});
//6.list转map
List<User> list2 = new ArrayList<>(list1);
Map<String, User> list2Map = list2.stream()
.collect(Collectors.toMap(User::getName, Function.identity()));
jdk1.8 stream() List集合常用方法
于 2020-07-27 16:31:45 首次发布