I want to do groupingBy and create a map that return me <Integer, List<Long>>
my model is as below
public class Partition {
private String tableName;
private int vendorKey;
private int retailerKey;
private int periodKey;
private int amtKey;
private int partitionId;
}
public class JobQueue {
private List<Partition> partitions;
private int transformId;
private long processKey;
private String configId;
}
I have written code using old java way and Want to rewritten below code in java-8 using groupingBy
Map<Integer, List<Long>> processKeyMap = new HashMap<>();
queues.forEach(q -> q.getPartitions().forEach(p -> {
int key = p.getPartitionId();
if (processKeyMap.containsKey(key)) {
List<Long> processKeys = processKeyMap.get(key);
processKeys.add(q.getProcessKey());
processKeyMap.put(key, processKeys);
} else {
processKeyMap.put(p.getPartitionId(), new ArrayList<>(Collections.singletonList(q.getProcessKey())));
}
}
));
Thank you in advance