JAVA 代码进行分组
对象类
不想写set的可以写一个构造函数进行赋值
public class BaseTest {
private int id;
private String code;
private String name;
private Integer age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "BaseTest{" +
"id=" + id +
", code='" + code + '\'' +
", name='" + name + '\'' +
", age=" + age +
'}';
}
public class Person extends BaseTest {
private String reson;
private String addr;
public String getReson() {
return reson;
}
public void setReson(String reson) {
this.reson = reson;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "Person{" +
"reson='" + reson + '\'' +
", addr='" + addr + '\'' +
"} " + super.toString();
}
main方法测试
Person p1=new Person();
p1.setId(1);
p1.setCode("I00001");
p1.setName("编号I00001");
p1.setAge(12);
p1.setReson("测试数据");
Person p2=new Person();
p2.setId(2);
p2.setCode("I00001");
p2.setName("编号I00002");
p2.setAge(22);
p2.setReson("测试数据2");
Person p3=new Person();
p3.setId(3);
p3.setCode("I00002");
p3.setName("编号I00002");
p3.setAge(32);
p3.setReson("测试数据3");
List<Person> list=new ArrayList<Person>();
list.add(p1);
list.add(p2);
list.add(p3);
for (Person pe:list) {
System.out.println(pe.toString());
}
System.out.println("===============================");
List<Person> list2=new ArrayList<Person>();
list.stream().collect(Collectors.groupingBy(Person::getName,Collectors.toList())).forEach((code,listByName)->{
list2.add(listByName.get(0));
});
for (BaseTest pe:list2) {
System.out.println(pe.toString());
}
仅供学习参考