私は静的メソッドString Converter.convert(String, Integer)
を持っています。2つのパラメータを受け取る関数を使用して、Java 8ストリームを使用してマップのキー+値を新しい値に変換する方法?
私はまたマップ:Map<String, Integer> map
を持っています。
私はマップを実行し、変換メソッドを使用して各エントリを文字列に変換し、変換された各文字列を使用していきたいと考えています。
map.entrySet().stream().map(e -> Converter.convert(e.getKey(), e.getValue()))....;
それがより直感的に行う方法があります:
私は、このようにそれを行うことができますか?次のようなものがありますか?
map.stream(Converter::convert)...
???
または
map.stream((k, v) -> Converter.convert(k, v)))...
???
ない:それは
Stream<Entry<K, V>>
を実装し、必要なものですmapKeyValue
を含む追加の便利な方法を提供し、特別なクラスEntryStream<K, V>
が含まれています。あなたは 'Entry'を取り、あなたの' convert'メソッドを呼び出すメソッドを定義することができます。 'Map.forEach'は' BiConsumer'を取りますが、何も返さないのであまり役に立ちません。 –私はそこに欲しかった! –