は、私は、通常のC#を使用するとJava APIに精通していないですが、ここで私が何をしたいです:Javaのソートのキーと値のコレクション
私は2つの配列があります。
String[] names = concertNames.toArray(new String[concertNames.size()]);
Double[] rates = concertRates.toArray(new Double[concertRates.size()]);
各要素からのnames
は、rates
の要素に対応します。つまり、names[i]
のレートは、rates[i]
です。
N個の最高級コンサートの名前を取得したいと思います。 C#ではLINQを使用しますが、ここではわかりません。
編集:オフトピックですか?あなたは真剣な人ですか?私は配列をソートする方法を知っています、ちょっとしたことをするために恐ろしい、初歩的なコードの50行を書こうとしません。
String[] topNames =
IntStream.range(0, rates.length)
.boxed()
.sorted(Comparator.comparing(i -> -1 * rates[i]))
.limit(N)
.map(i -> names[i])
.toArray(String[]::new);
少なくとも2行のコードを書いてください!!!!どのようにこの質問にはいくつかのupvotesがあります! – Ele
[LINQに対応するJavaとは何か?](https://stackoverflow.com/questions/1217228/what-is-the-java-equivalent-for-linq)の可能な複製 –
なぜ並列配列を使用するのですか?コンサートごとに 'name'と' rate'を保持するオブジェクトの配列? –