Java 将List中所有item中的某一个字段值提出来生成一个新的List

大哥大姐们,打扰一下,Java 将List中所有item中的某一个字段值提出来生成一个新的List?

例如:public class A{
private String a1;
private String a2;
各元素的get(),set()方法 略...
}
list<A> as ;(已有若干条数据)
list<String> a1s = new ArrayList<A>() ;
。。。。。。。。

将as中的所有item的a1取出 生成新的List<String> a1s;
有没有简洁一点的方法可以两三行代码就解决问题
foreach遍历然后再添加的方法就不需要了
}
list<A> as ;(已有若干条数据)
list<String> a1s = new ArrayList<A>() ;
。。。。。。。。

将as中的所有item的a1取出 生成新的List<String> a1s;
有没有简洁一点的方法可以两三行代码就解决问题
foreach遍历然后再添加的方法就不需要了
例如:public class A{
private String a1;
private String a2;
各元素的get(),set()方法 略...
}
list<A> as ;(已有若干条数据)
list<String> a1s = new ArrayList<A>() ;
。。。。。。。。

将as中的所有item的a1取出 生成新的List<String> a1s;
有没有简洁一点的方法可以两三行代码就解决问题
foreach遍历然后再添加的方法就不需要了
最新回答
薄荷糖味的吻

2025-03-30 05:11:04

as .forEach(n -> a1s.add(n.a1));
霸气御姐范

2025-03-30 02:59:12

可以用lambdaj框架,之前用过,里面有抽取list里对象属性为新list的方法,不过我找了一下现在好像不好下载了,真的需要的话可以找找.
开源中国
上有实例,但是没看到下载.
http://developer.51cto.com/art/201202/317772.htm
那一抹浅笑

2025-03-30 00:13:21

as.stream().map(A::getA1).collect(Collectors.toList());
浅夏蔷薇

2025-03-30 05:35:41

List<User> list = new ArrayList<User>();
User user1 = new User("第一位","用户1");
list.add(user1);
User user2 = new User("第二位","用户2");
list.add(user2);
User user3 = new User("第三位","用户3");
list.add(user3);
List<String> tableNames=list.stream().map(User::getMessage).collect(Collectors.toList());
System.out.println("输出第一个:"+tableNames);
List<String> orders=list.stream().map(User::getOrder).collect(Collectors.toList());
System.out.println(orders)
伤丶始终落疤

2025-03-30 02:53:22

重新new一个在加进去不就行了吗