如何在Java8中对数据进行分类(筛选)
我有数据点课。类的定义如下:如何在Java8中对数据进行分类(筛选),java,collections,filtering,Java,Collections,Filtering,我有数据点课。类的定义如下: public class ExciseReportDataPoint { private String liquorCategoryName; private String liquorName; private String nozzleName; private String bottleExciseNumber; private int fixedPegSize; private double costPerPe
public class ExciseReportDataPoint {
private String liquorCategoryName;
private String liquorName;
private String nozzleName;
private String bottleExciseNumber;
private int fixedPegSize;
private double costPerPeg;
private int bottleSize;
private int consumedVolumeInMl;
private int volumeInBottleInMl;
private boolean isBottleEmpty;
private int totalNoOfPegsPoured;
private double totalSaleValue;
// Getters and setters for all
}
我正在从我的API获取列表
。我想展示一个表格报告,其中行必须首先用LiquiorCategory分类,然后用Liquir分类
我想将列表
转换为地图
。我不确定使用流和收集器是否可行
有人对此有看法吗?您可以对列表进行多次分组:
Map<String, Map<String, List<ExciseReportDataPoint>>> map = list.stream().collect(Collectors.groupingBy(ExciseReportDataPoint::getLiquorCategoryName, Collectors.groupingBy(ExciseReportDataPoint::getLiquorName)));
Map Map=list.stream().collect(Collectors.groupingBy(execureReportDataPoint::GetLiquiorCategoryName,Collectors.groupingBy(execureReportDataPoint::GetLiquiorName));
您可以对列表进行多次分组:
Map<String, Map<String, List<ExciseReportDataPoint>>> map = list.stream().collect(Collectors.groupingBy(ExciseReportDataPoint::getLiquorCategoryName, Collectors.groupingBy(ExciseReportDataPoint::getLiquorName)));
Map Map=list.stream().collect(Collectors.groupingBy(execureReportDataPoint::GetLiquiorCategoryName,Collectors.groupingBy(execureReportDataPoint::GetLiquiorName));
您试过什么吗?请给我们看看。你试过什么吗?请给我们看看。