- package com.demo.entity;
- public class Book {
- private int id;
- private String name;
- public Book() {}
- public Book(int id, String name) {
- this.id = id;
- this.name = name;
- }
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- @Override
- public String toString() {
- return "Book{" +
- "id=" + id +
- ", name='" + name + '\'' +
- '}';
- }
- }
- Main
- package com.demo;
- import com.demo.entity.Book;
- import java.util.*;
- import java.util.stream.Collectors;
- public class Main {
- private static List<String> simpleList = new ArrayList<>();
- private static List<Book> normalList = new ArrayList<>();
- static {
- simpleList.add("apple");
- simpleList.add("apple");
- simpleList.add("banana");
- simpleList.add("orange");
- normalList.add(new Book(1,"Apple"));
- normalList.add(new Book(2,"Banana"));
- normalList.add(new Book(3,"Orange"));
- normalList.add(new Book(4,"Pig"));
- }
- public static void main(String[] args){
- System.out.println("---------------- 简单 List---------------");
- simpleList.forEach(e -> System.out.println(e));
- System.out.println("---------------- 简单 List 转 Set---------------");
- Set<String> simpleSet = new HashSet<>(simpleList);
- simpleSet.forEach(e -> System.out.println(e));
- System.out.println("---------------- 普通 List---------------");
- normalList.forEach(e -> System.out.println(e));
- System.out.println("---------------- 普通 List 转 Set---------------");
- Set<String> normalSet = normalList.stream().map(Book::getName).collect(Collectors.toSet());
- normalSet.forEach(e -> System.out.println(e));
- System.out.println("---------------- 普通 List 转 List---------------");
- List<Integer> list = normalList.stream().map(Book::getId).collect(Collectors.toList());
- list.forEach(e -> System.out.println(e));
- System.out.println("---------------- 普通 List 转 Map---------------");
- Map<Integer,Book> normalMap = normalList.stream().collect(Collectors.toMap(Book::getId,(b)->b));
- normalMap.forEach((id, book) -> {
- System.out.println(id + "::" + book);
- });
- }
- }
运行结果
---------------- 简单 List---------------
- apple
- apple
- banana
- orange
---------------- 简单 List 转 Set---------------
- banana
- orange
- apple
---------------- 普通 List---------------
- Book{id=1, name='Apple'}
- Book{id=2, name='Banana'}
- Book{id=3, name='Orange'}
- Book{id=4, name='Pig'}
---------------- 普通 List 转 Set---------------
- Apple
- Orange
- Banana
- Pig
---------------- 普通 List 转 List---------------
1
2
3
4
---------------- 普通 List 转 Map---------------
- :Book{id=1, name='Apple'}
- :Book{id=2, name='Banana'}
- :Book{id=3, name='Orange'}
- :Book{id=4, name='Pig'}
java List < 对象 > 转 Set,Map(高级)
来源: http://www.bubuko.com/infodetail-2699986.html