我有下一節課:
public class ExampleClass {
private String title;
private String codeResponse;
private String fileName;
}
我需要生成一個映射,其中鍵是檔案名,值是包含該檔案名的物件串列。我做了以下事情:
Map<String, List<ExampleClass>> mapValues = items
.stream()
.collect(Collectors.groupingBy(
item -> item.getFileName(),
Collectors.mapping(item -> item, Collectors.toList())
));
但在這種情況下,我將保存每個fileName物件的總串列,包括那些不適用的物件。
uj5u.com熱心網友回復:
您只需要Collectors.groupingBy. 默認情況下,實體將放置在串列中。
Map<String, List<ExampleClass>> mapValues = items.stream()
.collect(Collectors.groupingBy(item->item.getFileName()));
您也可以使用ExampleClass::getFileName代替 lambda。但這是個人喜好的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/310823.html
