-2

Java では 2 つの数値を 1 つのデータ構造に保存する必要がありますが、これら 2 つの数値の順序は重要です。つまり、これらの番号に電話するたびに。最初の番号が Nucleus で、2 番目の番号が Satellite です。どのデータ型を使用すればよいかわかりません。ArrayList を使用すると、必要のない大量のメモリが使用されます。ArrayList の初期サイズは 10 ですが、必要なサイズは 2 だけです。また、HashSet を使用すると、順序がありません。

ArrayList<int> array=new ArrayList<int>(2);
4

5 に答える 5

7

Objectここでは、実際にはベースのソリューションにもっと傾倒します。コードの読みやすさのために何かあれば。

public class Atom
{
    private int nucleus;
    private int satellite;

    public Atom(int nucleus, int satellite)
    {
         this.nucleus = nucleus;
         this.satellite = satellite;
    }
}

それらをクラスのメンバーとして参照すると、順序を気にする必要がなくなり、1 つのコレクションに必要な数だけ格納できます。

List<Atom> atoms = new ArrayList<Atom>();
atoms.add(new Atom(4,1));

int nucleus = atoms.get(0).getNucleus();
// Assuming you've written your getter method.

int satellite = atoms.get(0).getSatellite();
于 2013-07-26T09:21:21.210 に答える
1

なぜ単純な配列[]ではないのですか。

int[] data = new int[2];
int[0] = //nucleas
int[1] == //satellite.

しかし、もっと重要なのは、あなたの質問が意味をなさないことと、この要件のスペース/時間です

于 2013-07-26T09:18:51.290 に答える
0

リストは、要素の数がわからない場合に使用することをお勧めします。しかし、あなたの場合、要素が2つしかないことがわかっているので、代わりに araay を使用します

int[] array = new int[2];

としての価値を付加する

array[0] = <int_value>;
array[1] = <int_value>;
于 2013-07-26T09:20:41.960 に答える
0

Javaで単純な配列を使用できます

int[] anArray;

// allocates memory for 2 integers
anArray = new int[2];
于 2013-07-26T09:20:30.380 に答える
0

あなたのコードは、 ArrayList に 2 つの要素を格納するために必要なものです。

ArrayList コンストラクターに 2 を渡すと、長さ 2 のバッキング配列が作成されます。次に、サイズを変更せずに 2 つの要素を追加できます。ただし、ArrayList に 3 番目の要素を追加すると、バッキング配列のサイズが変更されます。ArrayList は配列の優れたラッパーです。配列よりもはるかに多くの機能を提供するため、これを使用してください。

于 2013-07-27T09:20:50.453 に答える