0

最初に私の悪い英語を申し訳ありません:)

(Arraylist, hashmap etc.. which is appropriate)たとえば、このリストには6つのフィールドがある新しいリストを作成します。

ArrayList<Integer, Integer, String, Integer, String, Integer> nData = new ArrayList<>();

これは正しくありませんが、リストが必要ですが<int, int, String, int, String, int> 、どうすればよいですか? ありがとうございました

4

5 に答える 5

5

Classこれらすべてのフィールドをラップする を作成し、このクラスのインスタンスを に追加しますArrayList

例えば:

public MyClass {
  private Integer field1;
  private Integer field2;
  private String field3;
  private Integer field4;
  private String field5;
  private Integer field6;

  // constructor

  // getters/setters
}

その後:

List<MyClass> nData = new ArrayList<MyClass>();
MyClass instance = new MyClass(1, 2, "String1", 4, "String2", 5);
nData.add(instance);
于 2012-09-03T13:02:19.267 に答える
1

最良の提案は、設計の詳細と制約に依存すると思いますが、データ型の順序は一定のようです。したがって、HashMap<int,Object[]>または Hashtable<int,Object[]>あなたの目的に役立つかもしれません。ここで HashMap と HashTable の違いを確認できます。

于 2012-09-03T13:09:48.840 に答える
0

次のように、これらすべてのフィールドを持つクラス、たとえば MyClass を作成します。

class MyClass
{
  Integer a;
  Integer b;
  String c;
  Integer d;
  String e;
  Integer f;
}

その後、ArrayList次のように作成します:-

ArrayList<MyClass> nData = new ArrayList<MyClass>();

次のようにリストに値を追加できます:-

MyClass m = new MyClass(1,2,"abcd",3,"bcde",4);
nData.add(m);
于 2012-09-03T13:04:06.147 に答える
0
  1. それらのフィールドを保持するクラスを作成する、または
  2. int の代わりに Integer を使用し、List を作成してから、それを必要な型にキャストするだけです

    List<Object> list = new ArrayList<Object>();
    for (Object o : list)
    {
    if (o instanceof Integer)
    System.out.println( "" + ((Integer) o).intValue() + " is integer");
    else 
    System.out.println( "" + ((String) o) + " is String");
    }
    
于 2012-09-03T13:08:23.230 に答える
0

必要なフィールドを持つ新しいクラスを作成し、そのクラスの ArrayList を作成します。

于 2012-09-03T13:01:46.710 に答える