たとえば、特定のComparatorでコレクションをソートしようとしています。パフォーマンスの観点から見ると、sorted()節で定義されたコンパレータを不幸なインスタンスとして扱うか、または一度インスタンスを作成してsorted()節でcompareメソッドを呼び出す方が良いでしょうか?本質的にはストリーム内の匿名ソートとしてのコンパレータ
、より良いものです:
myCollection.stream().sorted( new Comparator<String>(){ public int compare(String a, String b){ //code } })
Comparator<String> comp = new MyCustomComparator<>(); myCollection.stream().sorted(comp::compare)
注:文法や、問題の値を比較どちらも - 私はJVMの初期化に十分にスマートであるかどうかを概念的に知りたいです私の匿名コンパレータは1回だけ(ケース1)、1つのメソッドを再利用し続けるか、新しいインスタンスを作成し続けます(ケース2を選択します)。
これらの2つのアプローチは同じである必要があります。 – Dongqing