2017-02-14 12 views
1

У меня есть класс с точками данных. Класс определяется следующим образом:Как категоризировать (фильтровать) данные в java 8

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 

} 

Я получаю List<ExciseReportDataPoint> от моего API. Я хочу показать табличный отчет, в котором строки должны классифицироваться сначала с помощью LiquorCategory и Liquor.

Я хочу преобразовать List<ExciseReportDataPoint> в Map<String, Map <String, List<List<String>>>>. Я не уверен, является ли это возможно или нет с помощью потока и коллекторы

Есть ли у кого взять на это?

+0

Пытались ли вы что-нибудь? Пожалуйста, покажи нам. – CKing

ответ

0

Вы можете сгруппировать ваш список несколько раз:

Map<String, Map<String, List<ExciseReportDataPoint>>> map = list.stream().collect(Collectors.groupingBy(ExciseReportDataPoint::getLiquorCategoryName, Collectors.groupingBy(ExciseReportDataPoint::getLiquorName))); 

 Смежные вопросы

  • Нет связанных вопросов^_^