問題タブ [collectors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
4907 参照

java - Java 8 - 単語数を数え、降順で並べ替える

私は言葉のリストを持っています。

リストで複数回繰り返される上位 7 つの単語を降順で取得するにはどうすればよいですか? そして、単一のエントリの単語をアルファベット順に並べる必要があります。したがって、上記の出力は上位 7 語になります。

ストリーム、ラムダを使用してJava 8でこれを行うことを検討しています。

私はこのように努力しています。最初にリストを並べ替えます。次に、単語のリスト内の単語数を使用して単語のマップを取得します。

0 投票する
1 に答える
1138 参照

java - Collectors#toList のランタイムの複雑さ

Java ライブラリのソース コードでは、Collectors#toListメソッドは次のように定義されています。

BinaryOperatorのコンストラクターの3 番目のパラメーターとしてCollectorImpl、線形時間で 2 つのサブ結果をマージします。

この関数をメソッドで頻繁に使用する場合、Stream#collect2 乗の計算時間を得ることができるということですか?

次のコードを検討してください。

2 番目のストリームの要素はたまたま降順で計算されました。collect メソッドでできる最も簡単な方法は、各数値をラップしてList次のすべての数値を追加することです。合計で 2 乗の複雑さがあります。悲しいことです。

0 投票する
6 に答える
25443 参照

java - ストリーム groupingBy: リストの最初の要素に減らす

私はList<Valuta>(簡略化された)JSONスタイルで表現できる を持っています:

[ { コード = ユーロ、説明 = ユーロ、比率 = 1 }、{ コード = 米ドル、説明 = ドル、比率 = 1.1 } ]

私はそれを次のように変換したいMap<String, Valuta>:

{ EUR={ codice=EUR, description=ユーロ, ratio=1 }, USD={ codice=USD, description=ドル, ratio=1.1 }}

私はこのワンライナーを書きました:

Map<String, List<Valuta>>しかし、これは必要なものの代わりにa を返します。

関数は私にとってはうまくいくと思いmapping()ますが、方法がわかりません。

0 投票する
2 に答える
5139 参照

java - Java Streams: 内部マップ キーでグループ化された値を取得します

Java Streams を使用して取得したいMap<A, Map<B, C>>と考えています。Map<B, List<C>>

私は次のようにそれをしようとします:

私が期待するもの:

  • flatMapStreamを与えるMap.Entry<B, C>
  • collect(Collectors.groupingBy(...))Map.Entry<B, C>に適用されてを返す関数を受け取りB、 の値を収集しCますList<C>

しかし、文字通りコンパイルされません。

非静的メソッドは静的コンテキストから参照できません

Map.Entry::getKey最後の行で。

誰かが何が間違っているか、または私が望むものを達成するための正しい方法を説明できますか?