Java中取出某一属性的方法当做单独的集合
可以遍历循环存储,但是我用的是Java8的函数表达式来使用
代码如下:
public void HelloWorld {
@Test
public void demo01() {
User man = new User(null, "XiaoBai", 18);
User woman = new User(null, "Yeuul", 16);
List<User> list = new ArrayList<>();
list.add(man);
list.add(woman);
List<Integer> ageList = list.stream().map(User::getAge).collect(Collectors.toList());
List<String> nameList = list.stream().map(User::getName).collect(Collectors.toList());
List<Integer> IDList = list.stream().map(User::getID).collect(Collectors.toList());
System.out.println("抽出的年龄为:" + ageList);
System.out.println("抽出的姓名为:" + nameList);
System.out.println("抽出的ID为:" + IDList);
}
}
结果:
抽出的年龄为:[18, 16]
抽出的姓名为:[XiaoBai, Yeuul]
抽出的ID为:[null, null]
由此我们可以看到,即使选出的属性为null,也可以在控制台输出。
User对象的代码如下:
public class User implements Serializable {
private static final long serialVersionUID = -7294941326444478560L;
private Integer ID;
private String name;
private Integer age;
public User() {
}
public User(Integer ID, String name, Integer age) {
this.ID = ID;
this.name = name;
this.age = age;
}
public Integer getID() {
return ID;
}
public void setID(Integer ID) {
this.ID = ID;
}
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;
}
}