List doItemList
用doItemList.stream().???????????
实体里有个name属性,我要单独拿出来,怎么写,我想要的结果是Set set;
题外话,如果我放的是list不是set,怎么去重,如果还要过滤掉比如叫“老王”这个名字呢
List doItemList
用doItemList.stream().???????????
实体里有个name属性,我要单独拿出来,怎么写,我想要的结果是Set set;
题外话,如果我放的是list不是set,怎么去重,如果还要过滤掉比如叫“老王”这个名字呢
import java.util.*;
import java.util.stream.*;
class Untitled {
public static void main(String[] args) {
ArrayList<A> doItemList = new ArrayList<A>();
doItemList.add(new A("a", 1));
doItemList.add(new A("b", 2));
doItemList.add(new A("a", 3));
Map<String, List<A>> result = doItemList.stream().collect(
Collectors.groupingBy(
x -> x.name));
for (String s : result.keySet())
System.out.println(s);
}
}
class A
{
public String name;
public int age;
public A(String s, int n) { name = s; age = n; }
}
结果
a
b