java8 将list对象的某个属性拿出来当成一个字段
时间: 2024-02-23 11:01:48 浏览: 107
可以使用Java8中的Stream API和Lambda表达式来实现将List对象的某个属性拿出来当做一个字段。例如,假设我们有一个List<Person>对象,每个Person对象有一个name属性,我们要将所有Person对象的name属性拿出来组成一个新的List<String>,可以使用以下代码:
```java
List<Person> personList = new ArrayList<>();
// 假设我们已经将Person对象添加到了personList中
List<String> nameList = personList.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
在上面的代码中,map()方法将每个Person对象转换成其name属性,最终使用collect()方法将所有name属性组成的Stream对象转换成List<String>对象。
相关问题
java8 将list对象的某个属性拿出来当成一个字段并将里面的数据去重
可以使用Java8中的Stream API和Lambda表达式来实现将List对象的某个属性拿出来当做一个字段并将里面的数据去重。例如,假设我们有一个List<Person>对象,每个Person对象有一个name属性,我们要将所有Person对象的name属性拿出来组成一个新的List<String>,并且去重,可以使用以下代码:
```java
List<Person> personList = new ArrayList<>();
// 假设我们已经将Person对象添加到了personList中
List<String> nameList = personList.stream()
.map(Person::getName)
.distinct()
.collect(Collectors.toList());
```
在上面的代码中,map()方法将每个Person对象转换成其name属性,distinct()方法去重,最终使用collect()方法将所有去重后的name属性组成的Stream对象转换成List<String>对象。
JAVA中获取LIST中某个字段的集合
在Java中,可以使用Java8的Stream API和Lambda表达式来获取List中某个字段的集合。假设我们有一个包含对象的List,每个对象都有一个名称属性,我们想要获取这些对象中所有名称属性的值,可以使用以下代码:
```java
List<MyObject> objects = // 从某处获取对象列表
List<String> names = objects.stream().map(MyObject::getName).collect(Collectors.toList());
System.out.println(names); // 输出所有名称属性的值的列表
```
在上面的代码中,我们首先定义了一个包含对象的List `objects`,然后使用Stream API中的`map()`方法将每个对象转换成它的名称属性值,并使用`collect()`方法将所有名称属性的值收集到一个List中。最后,我们输出变量 `names` 的值,即所有名称属性的值的列表。
需要注意的是,上述代码中的`MyObject`需要根据实际情况替换成你的对象类型,并且需要确保该对象类型有一个`getName()`方法来获取名称属性的值。
希望这个回答能够帮助你!
阅读全文