最近搜索

List集合中所有元素相加求和 java8新特性

浏览:759
管理员 2022-09-20 16:15

   有些时候需要将list集合中所有元素相加求和,利用java8新特性,可以不用遍历整个集合将元素一个一个取出再计算。



直接计算数组中元素之和


int[] arr = {1, 2, 3};

int sum = Arrays.stream(arr).sum();

System.out.println(sum);

计算list集合中的元素之和

List<Integer> numbers = new ArrayList<Integer>();

numbers.add(1);

numbers.add(2);

numbers.add(3);

 

int sum = numbers.stream().reduce(Integer::sum).orElse(0);

System.out.println(sum);



当集合的泛型是实体类时,只计算类中某一属性的值相加之和


List<User> userList = new ArrayList<>();

User hzx1 = new User(1, "hzx1");

User hzx2 = new User(2, "hzx2");

User hzx3 = new User(8, "hzx3");

// 将三个元素同时写入集合

Collections.addAll(userList, hzx1, hzx2, hzx3);

// 计算元素之和

int sum = userList.stream().mapToInt(User::getId).sum();

System.out.println(sum);



  

image.png

联系站长

站长微信:xiaomao0055

站长QQ:14496453