相关疑难解决方法(0)

Java 8分组与返回多个字段

在Java 8组中,如何在单个字段上分组,返回多个字段.在下面的代码中,我传递名称和要求的字段,在这种情况下是"总计".但是,我想为"客户"列表中的每个"名称"返回"总计"和"余额"字段的总和(可以是键和值为数组的地图).可以通过使用带有返回值的单个groupingBy来完成吗?

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

public class Sample {

    public static void main(String str[]){
        Customer custa = new Customer("A",1000,1500);
        Customer custa1 = new Customer("A",2000,2500);
        Customer custb = new Customer("B",3000,3500);
        Customer custc = new Customer("C",4000,4500);
        Customer custa2 = new Customer("A",1500,2500);

        List<Customer> listCust = new ArrayList<>();
        listCust.add(custa);
        listCust.add(custa1);
        listCust.add(custb);
        listCust.add(custc);
        listCust.add(custa2);

        Map<String, Double> retObj = 
            listCust.stream().collect(Collectors.groupingBy(Customer::getName,Collectors.summingDouble(Customer::getTotal)));


    System.out.println(retObj);
    }

    private static class Customer {
        private String name;
        private double total;
        private double balance;

        public Customer(String name, …
Run Code Online (Sandbox Code Playgroud)

functional-programming java-8

5
推荐指数
1
解决办法
515
查看次数

标签 统计

functional-programming ×1

java-8 ×1