String[] arr ={"aa","ccc","sss"}; System.out.println(Arrays.stream(arr).collect(toList()));
时间: 2023-07-19 07:58:03 浏览: 143
您好!对于给定的字符串数组,您想要将其转换为列表并打印出来。根据您提供的代码片段,您可以使用`Arrays.stream`方法将数组转换为流,然后使用`Collectors.toList()`方法将流收集为列表。以下是您可以使用的代码示例:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
String[] arr = {"aa", "ccc", "sss"};
List<String> list = Arrays.stream(arr).collect(Collectors.toList());
System.out.println(list);
}
}
```
运行此代码将输出:`[aa, ccc, sss]`,即转换后的列表。
希望能对您有所帮助!如果您有任何其他问题,请随时提问。
相关问题
stream流将集合中String元素A和String元素B转成map,分别作为key和value,如果key重复则覆盖value值怎么写
可以使用`Collectors.toMap`方法来实现将集合中的`String`元素A和`String`元素B转成`Map`,其中`String`元素A作为`key`,`String`元素B作为`value`,如果`key`重复则覆盖`value`值。具体实现可以参考以下代码示例:
```
List<String> list = Arrays.asList("apple:1", "banana:2", "cherry:3", "apple:4", "cherry:5");
Map<String, String> map = list.stream()
.map(s -> s.split(":"))
.collect(Collectors.toMap(arr -> arr[0], arr -> arr[1], (v1, v2) -> v2));
System.out.println(map);
```
这段代码的作用是将列表中的字符串转成`Map`,使用`map`方法将每个字符串按照`:`分割成数组,然后使用`Collectors.toMap`方法将数组的第一个元素作为`key`,第二个元素作为`value`,如果有重复的`key`则使用合并函数将`value`覆盖。输出结果为:
```
{banana=2, cherry=5, apple=4}
```
这里使用了`Collectors.toMap`方法的重载版本,第一个参数是`key`的映射函数,第二个参数是`value`的映射函数,第三个参数是合并函数,将重复的`key`的`value`覆盖。
LIst<String> 转map
可以使用Java 8中的Stream API将List<String>转换为Map<String, String>,其中List中的每个元素都是Map中的键和值。具体实现如下所示:
```java
List<String> list = Arrays.asList("key1=value1", "key2=value2", "key3=value3");
Map<String, String> map = list.stream()
.map(str -> str.split("="))
.collect(Collectors.toMap(arr -> arr[0], arr -> arr[1]));
System.out.println(map);
```
输出结果为:{key1=value1, key2=value2, key3=value3}
上述代码中,首先将List中的每个元素按照"="进行分割,然后使用Collectors.toMap()方法将分割后的数组转换为Map。其中,arr表示数组中的第一个元素,即键;arr表示数组中的第二个元素,即值。
阅读全文