Java stream获取列表某一列
时间: 2023-10-23 11:09:59 浏览: 36
可以使用map()方法来获取列表中的某一列,示例如下:
假设有一个Person类:
```
public class Person {
private String name;
private int age;
private String address;
// 构造方法、getter和setter省略
}
```
现在有一个List<Person>,想要获取所有人的姓名,可以使用以下代码:
```
List<Person> personList = new ArrayList<>();
// 假设已经添加了多个Person对象到personList中
List<String> nameList = personList.stream().map(Person::getName).collect(Collectors.toList());
```
其中,map()方法将Person对象映射成其姓名,最后使用collect()方法收集为一个List<String>。如果需要获取其他属性,只需要在map()方法中传入对应的getter方法即可。
相关问题
java集合中取某一列
在Java集合中取某一列,需要先确定使用哪种集合类。如果是List类型的集合,可以使用Java 8引入的Stream API来实现。示例代码如下:
```java
List<Map<String, Object>> list = new ArrayList<>();
// 假设list中有多个Map对象,每个Map对象都包含了"column1"、"column2"、"column3"三个键值对
List<Object> column1List = list.stream().map(map -> map.get("column1")).collect(Collectors.toList());
```
如果是使用的是类似于数据库表格的集合,比如说使用的是Apache Commons Collections库中的ListOrderedMap类,可以直接通过get方法获取某一列。示例代码如下:
```java
ListOrderedMap<String, Object> table = new ListOrderedMap<>();
// 假设table中有多行数据,每行数据都包含了"column1"、"column2"、"column3"三个列
List<Object> column1List = table.mapList("column1");
```
java list取出某一列属性
假设你有一个List对象,其中包含多个对象,每个对象都有多个属性,你想要获取其中一个属性的值,可以使用Java 8的Stream API和Lambda表达式来实现:
假设你有一个对象Person,其中包含属性name、age、gender等,你想要获取List<Person>中所有Person对象的name属性,可以使用以下代码:
```
List<Person> personList = ...; // 初始化personList
List<String> names = personList.stream()
.map(Person::getName)
.collect(Collectors.toList());
```
其中,map(Person::getName)表示将Person对象转换为name属性,最终通过collect(Collectors.toList())将所有name属性值保存到List<String>中。
如果你只想获取List中第一个Person对象的name属性值,可以使用以下代码:
```
List<Person> personList = ...; // 初始化personList
String firstName = personList.get(0).getName();
```
其中,personList.get(0)表示获取List中第一个Person对象,getName()表示获取该Person对象的name属性值。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)