将一组字符串流式传输到 <String, ArrayList()> 的 Map 中

Mar*_*ark 2 java set java-stream

我有一组字符串(它是静态的),我想Map<String, List<String>>从它们创建一个,其中列表被初始化为一个新的 ArrayList。类似于以下内容,但此代码不正确。

static Set<String> MY_TYPES = Set.of("type1", "type2", "type3");

Map<String, List<String> myMap = MY_TYPES.stream().map(t->() t, new ArrayList<>()).collect(Collectors.toMap());
Run Code Online (Sandbox Code Playgroud)

我正在尝试学习如何在我的代码中更好地使用流。我知道我可以在集合上进行迭代。

编辑

@shmosel,你是对的。我想要相当于

Map.of("type1", new ArrayList<>(), "type2", new ArrayList<>(), "type3", new ArrayList());
Run Code Online (Sandbox Code Playgroud)

shm*_*sel 5

听起来你正在寻找这个:

MY_TYPES.stream()
        .collect(Collectors.toMap(s -> s, s -> new ArrayList<>()))
Run Code Online (Sandbox Code Playgroud)