0

わかりました、ちょっとした構文の問題で助けが必要です。クラスがあり、それを配列リストに入れ、for ループを使用して配列リストに入力します。これが私が欲しいものの例です:

    public class w{
    int x;
    int y;
    }
    Arraylist m = new Arraylist();
    for(int i=0; i<n;i++)
  {
          m[i].add(w.x);
          m[i].add(w.y);

  }

はい、コードが機能していません。これは、私がやりたいことの単なる例です。構文がわからないので、i を指定して取得できるクラスを含む配列リストが必要で、その 'i' だけで両方の変数を取得できます。どんな助けも高く評価されます。お時間をいただきありがとうございます。お粗末な説明で申し訳ありませんが、これ以上具体的に説明することはできません。

4

4 に答える 4

4

何を達成しようとしているのかは明確ではありませんが、ArrayList適切に使用する方法については、おそらくこれで十分なガイドになるでしょう。通常の Java コーディング規約に合わせて、クラス名を から に変更しwました。W

public class W {
    int x;
    int y;
    public W(int x, int y) {
        this.x = x;
        this.y = y;
    }
}

ArrayList<W> m = new ArrayList<W>(); // can be 'new ArrayList<>()` in Java 7
m.add(new W(1, 2));
m.add(new W(5,-3));
// etc.

for (int i=0; i<m.size(); i++) {
    W w = m.get(i);
    System.out.println("m[" + i + "]=(" + w.x + "," + w.y + ")");
}

for (W w : m) {
    System.out.println("next W: (" + w.x + "," + w.y + ")");
}
于 2012-12-04T02:46:30.077 に答える
0

こんな風に使えます..

public class w{
    int x;
    int y;
    }
  w ref1=new w();
  w ref2=new w();
    Arraylist<w> m = new Arraylist<w>();  
    m.add(ref1);
    m.add(ref2);

またはあなたができる

for(some condition)
{
    m.add(new w());
}
于 2012-12-04T02:46:54.043 に答える
0

Java では、インデックスによるコレクションへのアクセスに角括弧表記を使用することはできません。特定のコレクション API に依存するかどうか、およびその方法は異なります。の場合、List引数としてインデックスを取る add メソッドの 2 番目のバージョンがあります。

List<Integer> m = new ArrayList<>();
    for(int i=0; i<n;i++)
  {
          m.add(i, w.x);
          m.add(i, w.y);

  }
于 2012-12-04T02:38:26.047 に答える
0

AnArrayListは従来の意味での配列ではありません。それはオブジェクトです。Java 7 API で見つけることができるListtypeの要素にアクセスする方法を尊重する必要があります。

つまり、値を配置するために次の 2 つのオプションを使用できます。

.add(E element)これは、同じジェネリック型のオブジェクトをパラメーターとして受け取り、

.addAll(Collection<? extends E> collection)、別のコレクション型をパラメーターとして受け取ります。Arrays.asList()プリミティブ配列を に配置しようとしている場合は、これを と組み合わせて使用​​できますList

最後にいくつか:

  • 具体的な型ではなく、インターフェイスにコーディングする方が望ましいです。LinkedListこのように、 の代わりに を使い始める必要があるかどうかは気にしませんArrayList
  • リストを入力しないと、Java がチェックされていない操作を警告します。に入れるものに夢中になると、これらは安全ではない可能性がありますList
  • Listさらに、を使用せずにから特定のフィールド/関数を取得することはできinstanceofませObjectん。
于 2012-12-04T02:41:56.070 に答える