import junit.framework.TestCase;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Optional;
import java.util.stream.Collectors;
public class TestCollect extends TestCase {
class User {
String userName;
String sex;
String idCard;
}
public void testCollect() {
User user01 = new User("user01", "male", "000000001");
User user02 = new User("user02", "male", "000000002");
User user03 = new User("user03", "male", "000000003");
User user04 = new User(null, "male", "000000004");
User user05 = new User("user05", "male", null);
ArrayList<User> list = new ArrayList();
list.add(user01);
list.add(user02);
list.add(user03);
list.add(user04);
list.add(user05);
HashMap<String, String> map02 = list.stream().collect(Collectors
.toMap(s -> Optional.ofNullable(s.getUserName()).orElse("空的"), s -> Optional.ofNullable(s.getSex()).orElse("空的"), (a, b) -> b, HashMap::new));
System.out.println(map02);
HashMap<String, String> map03 = list.stream().collect(HashMap::new, (map, item) -> map.put(item.getUserName(), item.getSex()), HashMap::putAll);
System.out.println(map03);
}
}