2017-01-04 4 views
0

Set<String>を指定すると、Javaストリームを使用してSet<Map>を作成するにはどうすればよいでしょうか?各文字列sは、キーと値のペアがキー"x"で値がsのマップになりますか? set.stream().collect(Collectors.toMap(p->"x", v->v))Javaストリームを使用して一連の文字列を一連のマップに変換するにはどうすればよいですか?

+0

をマップごとに1つのキー/値のペアセット、@Eranに。 –

+0

セット内の各値のキーはどのようにすべきですか?セット内のすべての値を「x」というキーを持つマップに挿入する必要がある場合は、そのキーを使用できません。重複キーは存在しないため、 –

+0

@BandiKishoreでは、キーは各マップの同じ文字列 "x"でなければなりませんが、セット内の各文字列は別々のマップに入れられます。 –

答えて

1

あなたは各StringMap<String,String>にをマップするためにCollections.singletonMapを使用することができます。

このような何かが、私はそこにどこかにあるコレクトの1つの以上のレベルが必要です。その後、SetMap Sを収集することができます。

Set<Map<String,String>> mset = set.stream() 
            .map(s -> Collections.singletonMap("x",s)) 
            .collect(Collectors.toSet()); 
+0

それは美しいです!ありがとう! –

関連する問題