有些时候需要将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);

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐