JAVA8 Stream 多个对象List中的指定字段抽取到一个List中

定义一个Person类

public class Person {
 
    private Integer id;
    private String name;
    private String address;
    
	// 省略get和set和构造方法
}

方式一

List<Person> person1List= Arrays.asList(new Person(1, "张三"), new Person(2, "李四"));
List<Person> person2List= Arrays.asList(new Person(1, "王五"), new Person(3, "赵六"));

// 将List1和List2分别获取出id之后合并为一个stream流,然后收集为List
List<Integer> personIdList = Stream.concat(
	person1List.stream().map(Room::getId), 
	person2List.stream().map(Room::getId)
).collect(Collectors.toList());

方式二

List<Person> person1List= Arrays.asList(new Person(1, "张三"), new Person(2, "李四"));
List<Person> person2List= Arrays.asList(new Person(1, "王五"), new Person(3, "赵六"));

// List1和List2先合并为一个Stream流之后,然后获取id,最后收集为List
List<Integer> personIdList =  Stream.of(person1List, person2List)
							  .flatMap(List::stream)
							  .map(Person::getId)
							  .collect(Collectors.toList());
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用 Java 8 将 List 对象字段转为 String 数组,你可以使用 Stream API 和方法引用来实现。以下是一个示例代码: ```java import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; class Person { private String name; public Person(String name) { this.name = name; } public String getName() { return name; } } public class ListToStringArrayExample { public static void main(String[] args) { // 创建 Person 对象列表 List<Person> personList = new ArrayList<>(); personList.add(new Person("Alice")); personList.add(new Person("Bob")); personList.add(new Person("Charlie")); // 使用 Java 8 将 name 字段转为 String 数组 String[] namesArray = personList.stream() .map(Person::getName) .toArray(String[]::new); // 打印结果 for (String name : namesArray) { System.out.println(name); } } } ``` 在上面的示例,我们创建了一个名为 `Person` 的简单对象,它有一个 `name` 字段和相应的 `getName()` 方法。然后,我们创建了一个 `personList` 列表,并添加了几个 `Person` 对象。 接下来,我们使用 Java 8 的 Stream API 将 `personList` 转换为流,并使用 `map()` 方法将每个 `Person` 对象的 `name` 字段映射为一个新的流。然后,我们使用 `toArray()` 方法将流转换为 `String` 数组。 最后,我们遍历 `namesArray` 数组并打印结果。 运行以上代码将输出以下结果: ``` Alice Bob Charlie ``` 通过使用 Stream API 和方法引用,我们可以简洁地将 List 对象字段转换为 String 数组。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值