使用流toMap将List<String> setCodeList转成map
时间: 2024-04-10 21:33:49 浏览: 65
在 Java 中,你可以使用流(Stream)和 `Collectors.toMap` 方法将 `List<String>` 转换为 `Map<String, String>`。以下是一个示例:
```java
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<String> setCodeList = List.of("A", "B", "C");
Map<String, String> map = setCodeList.stream()
.collect(Collectors.toMap(code -> code, code -> code));
System.out.println(map);
}
}
```
输出结果将会是:
```
{A=A, B=B, C=C}
```
在上述示例中,我们使用了流的 `stream` 方法来将 `setCodeList` 转换为一个流。然后,我们使用 `Collectors.toMap` 方法来收集流中的元素,并将每个元素作为键和值添加到 `Map` 中。最后,我们打印出 `map` 的内容。
注意:如果你的列表中存在重复的元素,`toMap` 方法在构建映射时会抛出 `IllegalStateException`。如果你想要保留重复元素,请使用 `toMap` 方法的重载版本,并为重复的键提供一个合并函数来处理冲突。
阅读全文