总是忘记写法
@Data
static class Node{
String id;//唯一标识
String name;
String age;
}
public static void main(String[] args) throws IOException {
List<Node> nodeList=new ArrayList<>();
nodeList.add(null);
/**
* 从List<实体>抽出某个字段值组成新的List
*/
List<String> idList=nodeList.stream().map(Node::getId).collect(Collectors.toList());
/**
* 从List<实体>转成Map<String,实体>
* Collectors.toMap(Node::getId,e->e,(e1,e2)->e1)
* 第一个参数,作为key
* 第二个参数,作为值
* 第三个参数,当key重复时,两个重复对象e1,e2留下谁
*/
Map<String,Node> map=nodeList.stream().collect(Collectors.toMap(Node::getId,e->e,(e1,e2)->e1));
/**
* Map的key转List
*/
List<String> idList2= new ArrayList<>(map.keySet());
/**
* Map的value转List
*/
List<Node> nodeList1= new ArrayList<>(map.values());
}