0

一連のデータがあり、他のすべての値はその前の値とペアになっています。

2 3 5 6 8 9 12 5
たとえば、2 は 3 で書き出され、5 は 6 で書き出されます (指数としてですが、実際には関係ありません)。

行にいくつの値があるかはわからないので、ArrayList を使用したいのですが、それらをリンクする必要があります。2D 配列のスタイルで 2 を 3 に関連付けたい。

キーがいたるところで繰り返される可能性が高く、キーと値の関連付けに関する固有の特性がないため、マップを使用できません。拡張可能な 2D 配列が必要なだけですが、HashMap、ArrayList、2D 配列、または私が知っている他のデータ構造からそれを取得できるかどうかわかりません。

ポインタはありますか?

編集: 明確にするために、これは 2 ^ 3 5 ^6 8 ^ 9 などを表し、最終的にそれを読み取り可能な形式で出力したいと思います。また、指数の最大値で並べ替える必要もあります。したがって、データ構造に入る順序をある程度制御する必要があります。

4

3 に答える 3

4

両方の数値を一緒に保持するクラスを作成してみませんか? 次に、 a を使用しList<Pair>てすべてのデータを保持できます。

public class Pair {
    private final int a;
    private final int b;

    public Pair(int a, int b) {
        this.a = a;
        this.b = b;
    }

    public int getA() {
        return a;
    }

    public int getB() {
        return b;
    }
}

/e

並べ替える必要があるため、PairimplementComparable<Pair>を作成するか、データを整理するComparator<Pair>ために使用できるように作成することができます。Collections.sort

于 2013-07-12T01:36:10.760 に答える