stream 流将一个LIST<object>转化成List<String>
时间: 2023-07-16 12:16:24 浏览: 52
你可以使用Java 8的Stream API将List<Object>转换为List<String>,示例代码如下:
```
List<Object> objects = Arrays.asList("hello", 123, true);
List<String> strings = objects.stream()
.map(Object::toString)
.collect(Collectors.toList());
System.out.println(strings); // ["hello", "123", "true"]
```
这里使用了Stream的map方法将每个对象转换为它的字符串表示形式,并使用collect方法将结果收集到一个List<String>中。
相关问题
stream list<object> 遍历 List<String>去重
可以使用LINQ库中的Distinct()方法来去重,示例代码如下:
```csharp
List<object> stream = new List<object>();
List<string> stringList = new List<string>();
// 假设stream已经被初始化并填充
// 假设stringList已经被初始化并填充
var distinctStringList = stringList.Distinct();
foreach (object obj in stream)
{
foreach (string str in distinctStringList)
{
// 在这里处理obj和str
}
}
```
在上面的代码中,我们首先使用Distinct()方法来去重stringList中的元素,并将结果存储在distinctStringList变量中。然后,我们使用两个嵌套的foreach循环来遍历stream和distinctStringList,并在内部处理它们。
如何将List<Object>转为List<String>
要将`List<Object>`转换为`List<String>`,可以使用Java 8的Stream API以及`map方法进行转换。下面是一个示代码:
```java
List<Object> objectList = new ArrayList<>();
objectList.add("Hello");
objectList.add("World");
objectList.add(123);
List<String> stringList = objectList.stream()
.map(Object::toString)
.collect(Collectors.toList());
```
在上面的示例中,我们首先创建一个`List<Object>`对象,并向其中添加了不同类型的元素,包括字符串和整数。
然后,我们使用`stream()`方法将该列表转换为一个流(Stream)。接着,使用`map()`方法将每个元素转换为字符串,通过`Object::toString`方法引用来实现。
最后,使用`collect(Collectors.toList())`将转换后的元素收集到一个新的`List<String>`中。
这样,我们就成功将`List<Object>`转换为了`List<String>`。请注意,如果`List<Object>`中的元素类型无法转换为字符串,可能会引发`ClassCastException`异常。因此,在进行转换时,请确保列表中的每个元素都能安全地转换为字符串类型。