私はこのようなことをしたいと思います:
private ArrayList<String[]> addresses = new ArrayList<String[3]>();
これは機能しないようです。個別のクラスを作成せずに、配列にアドレスごとに3つのフィールドを持つ複数のアドレスを保存する最も簡単な方法は何ですか?
プリミティブ配列ではなく、3つの文字列に対して2番目のArrayListを使用します。すなわち。private List<List<String>> addresses = new ArrayList<List<String>>();
その後、次のことができます。
ArrayList<String> singleAddress = new ArrayList<String>();
singleAddress.add("17 Fake Street");
singleAddress.add("Phoney town");
singleAddress.add("Makebelieveland");
addresses.add(singleAddress);
(ここで型消去を行うと、奇妙なことが起こると思いますが、ここでは重要ではないと思います)
プリミティブ配列を使用するのが難しい場合は、サンプルを機能させるためにわずかな変更のみが必要です。他の回答で説明したように、配列のサイズを宣言に含めることはできません。だから変更:
private ArrayList<String[]> addresses = new ArrayList<String[3]>();
に
private ArrayList<String[]> addresses = new ArrayList<String[]>();
動作します。
List<String[]> addresses = new ArrayList<String[]>();
String[] addressesArr = new String[3];
addressesArr[0] = "zero";
addressesArr[1] = "one";
addressesArr[2] = "two";
addresses.add(addressesArr);
配列を使用しません。いくつかの理由で問題があり、特定の配列サイズの観点から宣言することはできません。試してください:
List<List<String>> addresses = new ArrayList<List<String>>();
しかし、正直に言うと、アドレスをモデル化するクラスを作成します。
配列を使用する場合、次のようになります。
List<String[]> addresses = new ArrayList<String[]>();
つまり、配列のサイズを宣言することはできません。
最後に、このようなインスタンスでは、型を具象型として宣言しないでください(つまり、addresses
の場合)。上記で行ったように、インターフェースを使用します。これは、メンバー変数、戻り値の型、およびパラメーターの型に適用されます。
StringのArrayListを作成するためのシンプルで簡単な方法
List<String> category = Arrays.asList("everton", "liverpool", "swansea", "chelsea");
乾杯
String配列に特定のサイズを強制することはできません。あなたはこれを行うことができます:
private List<String[]> addresses = new ArrayList<String[]>();
ただし、任意のサイズの配列をこのリストに追加できます。
ただし、他の人が述べたように、ここで行う正しいことは、アドレスを表す別のクラスを作成することです。次に、次のようなものがあります:
private List<Address> addresses = new ArrayList<Address>();
private List<String[]> addresses = new ArrayList<String[]>();
これは間違いなく動作します...
これを試して
ArrayList<ArrayList<String>> PriceModelList = new ArrayList<>();
ArrayList<ArrayList<String>> PriceQtyList = new ArrayList<>();
ArrayList<ArrayList<String>> PriceTotalList = new ArrayList<>();
for (int i = 0; i < CustomerNames.length; i++) {
PriceModelList.add(new ArrayList<String>());
String[] PriceModel = {"s6", "s7", "note4", "note5", "j5", "j6"};
for (int j = 0; j < PriceModel.length; j++) {
PriceModelList.get(i).add(PriceModel[j]);
}
PriceQtyList.add(new ArrayList<String>());
String[] PriceQut = {"12", "13", "21", "15", "43", "21"};
for (int k = 0; k < PriceQut.length; k++) {
PriceQtyList.get(i).add(PriceQut[k]);
}
PriceTotalList.add(new ArrayList<String>());
String[] PriceTotal = {"1323", "1312321", "43123212", "43434", "12312", "43322"};
for (int m = 0; m < PriceTotal.length; m++) {
PriceTotalList.get(i).add(PriceTotal[m]);
}
}
ArrayList<ArrayList<ArrayList<String>>> CustomersShoppingLists = new ArrayList<>();
CustomersShoppingLists.add(PriceModelList);
CustomersShoppingLists.add(PriceQtyList);
CustomersShoppingLists.add(PriceTotalList);
Java 8。
List<String[]> addresses = new ArrayList<>();