java使用stream流将一个对象list的的某个属性赋值给一个字符串list
时间: 2023-11-22 10:04:23 浏览: 41
你可以使用Java 8中的Stream流来将一个对象列表的特定属性值赋给一个字符串列表。假设你有一个名为`objectList`的对象列表,每个对象都有一个属性`property`,你想要将这些属性的值赋给一个字符串列表`stringList`,可以按照以下方式实现:
```java
List<Object> objectList = ... // 假设这是你的对象列表
List<String> stringList = objectList.stream()
.map(obj -> obj.getProperty())
.collect(Collectors.toList());
```
在上述代码中,我们使用`stream()`方法将对象列表转换为流。然后,使用`map()`方法将每个对象映射到其属性的值。最后,使用`collect()`方法将映射后的值收集到一个字符串列表中。
请注意,你需要将`getProperty()`替换为实际对象的属性访问器方法。另外,你还需要导入`java.util.List`、`java.util.stream.Collectors`和你的对象类所在的包。
相关问题
java两个list字符串合并并取出不重复的数据使用stream流
可以使用Java 8的Stream流来实现两个List字符串合并并取出不重复的数据。代码示例如下:
```java
List<String> list1 = new ArrayList<>();
list1.add("A");
list1.add("B");
list1.add("C");
List<String> list2 = new ArrayList<>();
list2.add("C");
list2.add("D");
list2.add("E");
List<String> list3 = Stream.concat(list1.stream(), list2.stream())
.distinct()
.collect(Collectors.toList());
```
这里使用了`Stream.concat()`方法将两个List合并成一个Stream流,再使用`distinct()`方法去除重复数据,最后使用`collect()`方法将结果收集到一个新的List集合中。这个新的List集合中就存储了list1和list2中的所有不重复字符串。
java strem流 拼接每个对象的某个属性,中间用逗号分割,返回一个字符串
假设有一个对象列表 `List<MyObject>`,每个对象都有一个属性 `name`,则可以使用 Java 8 的 Stream API 实现拼接每个对象的 `name` 属性并用逗号分割的操作,示例代码如下:
```
List<MyObject> list = ...; // 初始化对象列表
String names = list.stream()
.map(myObj -> myObj.getName())
.collect(Collectors.joining(","));
System.out.println(names); // 输出拼接后的字符串
```
这里使用了 `Stream` 的 `map` 操作将每个对象映射为其 `name` 属性,然后使用 `Collectors.joining` 操作将这些属性值拼接起来并用逗号分割。最后得到的字符串即为所有对象的 `name` 属性拼接而成。