基于元素的Java拆分列表
所以我有一个类基于元素的Java拆分列表,java,dictionary,arraylist,java-8,java-stream,Java,Dictionary,Arraylist,Java 8,Java Stream,所以我有一个类标准,带有属性和构造函数: String studentName; String category; Standard(studentName, category) 我还有一个列表,其中包含标准对象,如下所示: [S1,S2,S3,S4] Map<String,List<Standard>> m = {1=[S1, S3], 2=[S2,S4]}; 在哪里 S1 = Standard("ABC","1"); S2 = Standard("DEF","
标准,带有属性和构造函数:
String studentName;
String category;
Standard(studentName, category)
我还有一个列表
,其中包含标准
对象,如下所示:
[S1,S2,S3,S4]
Map<String,List<Standard>> m = {1=[S1, S3], 2=[S2,S4]};
在哪里
S1 = Standard("ABC","1");
S2 = Standard("DEF","2")
S3 = Standard("IJK","1")
S4 = Standard("LMN","2")
我想将具有相同类别的Standard
对象分组到映射(字符串,列表)
中,键为category
,值为List
的Standard
对象如下:
[S1,S2,S3,S4]
Map<String,List<Standard>> m = {1=[S1, S3], 2=[S2,S4]};
Map m={1=[S1,S3],2=[S2,S4]};
现在我想知道是否可以使用Java 8 streams来完成此操作。您可以使用收集器:
Map<String, List<Standard>> map = standards.stream()
.collect(Collectors.groupingBy(Standard::getCategory));
Map Map=standards.stream()
.collect(收集器.groupingBy(标准::getCategory));
假设您实现了getCategory
方法