JAVA8新特性之List的各种用法
所有的代码均以User对象来做案例,有不对或者错误的地方请各位J友多多担待和指出.
实体类:
import java.math.BigDecimal;
import java.util.Date;
/**
* 实体类
* @author 12084
* @create 2019-08-05 10:04
*/
public class Users {
/**
* ID
*/
private Long id;
/**
* 用户名
*/
private String name;
/**
* 年龄
*/
private int age;
/**
* 工号
*/
private String jobNumber;
/**
* 性别
*/
private String sex;
/**
* 注册时间
*/
private Date entryDate;
/**
* 成员组织
*/
private BigDecimal familyMemberQuantity;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getJobNumber() {
return jobNumber;
}
public void setJobNumber(String jobNumber) {
this.jobNumber = jobNumber;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public Date getEntryDate() {
return entryDate;
}
public void setEntryDate(Date entryDate) {
this.entryDate = entryDate;
}
public BigDecimal getFamilyMemberQuantity() {
return familyMemberQuantity;
}
public void setFamilyMemberQuantity(BigDecimal familyMemberQuantity) {
this.familyMemberQuantity = familyMemberQuantity;
}
@Override
public String toString() {
return "Users{" +
"用户ID=" + id +
", 用户姓名='" + name + '\'' +
", 用户年龄=" + age +
", 用户工号='" + jobNumber + '\'' +
", 用户性别='" + sex + '\'' +
", 用户注册时间=" + entryDate +
", 用户家庭成员数量=" + familyMemberQuantity +
'}';
}
}
一、根据字段分组得到多个List集合
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author 12084
* @create 2019-08-05 10:04
*/
public class ListLambdaTest {
public static final Logger logger = LoggerFactory.getLogger(ListLambdaTest.class);
/**
* 生产虚拟用户
* @return
*/
public List<Users> produceUser(){
List<Users> usersList = new ArrayList<>();
for (int i = 1; i <= 10; i++) {
Users users = new Users();
users.setId(Long.valueOf(i));
users.setName("kobe" + i);
users.setAge(i);
users.setJobNumber("jobNumber" + i);
if (i % 2 == 0) {
users.setSex("男");
} else {
users.setSex("女");
}
users.setEntryDate(new Date());
users.setFamilyMemberQuantity(new BigDecimal(i));
usersList.add(users);
}