13

私は同じ問題について掘り下げましたが、私が持っていたものと同じものを見つけることができませんでした

サイズがどうなるかわからないので宣言せずに配列を作りたい!

問題を解決するために、探しているコードを提供したいと思います

public class t
{
 private int x[];
 private int counter=0;
 public void add(int num)
 {
   this.x[this.counter] = num;
   this.counter++;
 }
}

ご覧のとおり、ユーザーはadd関数を使用して配列に要素を10000回または1回だけ追加できるため、サイズは不明です

4

6 に答える 6

13

Java.util.ArrayList または LinkedList を使用するのが、これを行う通常の方法です。私が知っているように、配列では不可能です。

例:

List<Float> unindexedVectors = new ArrayList<Float>();

unindexedVectors.add(2.22f);

unindexedVectors.get(2);
于 2012-08-16T15:25:18.167 に答える
10

あなたは探しているかもしれませんList? どちらかLinkedListまたはArrayListは、一見するのに適したクラスです。その後、呼び出しtoArray()てリストを配列として取得できます。

于 2012-08-16T15:25:25.250 に答える
3

これはどう

    private Object element[] = new Object[] {};
于 2014-08-28T09:40:50.113 に答える
3

プログラムの実行中に配列サイズが固定されると、そのサイズはそれ以上変更できなくなります。したがって、動的配列を扱うときは ArrayList を使用することをお勧めします。

于 2013-08-29T17:34:20.420 に答える
3

他の人が言ったように、を使用してArrayListください。方法は次のとおりです。

public class t
{
 private List<Integer> x = new ArrayList<Integer>();

 public void add(int num)
 {
   this.x.add(num);
 }
}

ご覧のとおり、メソッドはの add メソッドaddを呼び出すだけです。ArrayListこれは、変数がプライベートである場合にのみ役立ちます (それはそうです)。

于 2012-08-16T15:31:38.720 に答える
1

あなたが本当に欲しいのはArrayListまたはVectorだと思います。Java の配列は、Javascript の配列とは異なります。

于 2012-08-16T15:26:12.840 に答える