私は以下の問題があります。 私は2つの異なるデータ型の配列を持っています。Javaで異なるデータ型の2つの配列をソート
byte[] a = {2,5,3};
long[] b = {2,0,1};
そして、bをソートして、aのエントリをそれぞれs.t.に変更する必要があります。私はほとんどの人がコンパレータであることを行うが、それは、異なるデータ型で動作するようには思えないことを見てきました
byte[] a = {5,3,2};
long[] b = {0,1,2};
を取得します。私は配列の長さが非常に大きいので、効率的なソリューションを探しています。しかし、aには2つの異なるエントリ0と1しかありません(しかし、それでももっと多くのエントリのオプションを持つためにバイトとして保持したい)と、すべてのペア(0、x)は既にソートされています。最初のエントリは0ですが、すでにソートされています)。ペア(1、x ')についても同様であるが、bの項目は完全にソートされていない。私の問題がはっきりしていればいいと思う私はどんな提案にも満足しています。
ありがとうございます!
編集:明らかにこの質問:Sort a parallel array using Arrays.sort()は非常に似ています。しかし、実際の例は再現できませんでした。誰かが完全な実例を持っていますか?
これらの「並列」コレクションを持つのではなく、「byte」と「long」で新しいクラスを作成し、そのタイプの*単一のコレクション/配列を作成することはほぼ確実です。次に、その型のコンパレータを使ってそのコレクション/配列をソートするだけです。 –
私はこれを解決するために、次のようなデータ型を使用します:http://stackoverflow.com/questions/18232788/procedure-to-sort-a-two-dimensional-int-array-depending-on -columnしかし、私はその解決策に満足していませんが、それは瞬間大丈夫です... – PhysX