Java:String Arrays的ArrayList

我想做这样的事情:

private ArrayList addresses = new ArrayList(); 

……这似乎不起作用。 什么是最简单的方法来存储多个地址,每个地址有3个字段,而不为它创建单独的类?

对3个字符串使用第二个ArrayList,而不是原始数组。 IE浏览器。
private List> addresses = new ArrayList>();

然后你可以:

 ArrayList singleAddress = new ArrayList(); singleAddress.add("17 Fake Street"); singleAddress.add("Phoney town"); singleAddress.add("Makebelieveland"); addresses.add(singleAddress); 

(我觉得这里有类型擦除可能会发生一些奇怪的事情,但我认为这不重要)

如果您已经开始使用原始数组,则只需进行一些小的更改即可使您的示例正常工作。 如其他答案中所述,数组的大小不能包含在声明中。 如此改变:

 private ArrayList addresses = new ArrayList(); 

 private ArrayList addresses = new ArrayList(); 

将工作。

 List addresses = new ArrayList(); String[] addressesArr = new String[3]; addressesArr[0] = "zero"; addressesArr[1] = "one"; addressesArr[2] = "two"; addresses.add(addressesArr); 

我不会使用数组。 由于多种原因,它们存在问题,无论如何都无法根据特定的数组大小声明它。 尝试:

 List> addresses = new ArrayList>(); 

但老实说,对于地址,我会创建一个类来模拟它们。

如果您要使用数组,它将是:

 List addresses = new ArrayList(); 

即你不能声明数组的大小。

最后,不要在类似的实例(即addresses )中将类型声明为具体类型。 像我上面那样使用界面。 这适用于成员变量,返回类型和参数类型。

您不能强制String数组具有特定大小。 你可以这样做:

 private List addresses = new ArrayList(); 

但是可以将任何大小的数组添加到此列表中。

但是,正如其他人所提到的,这里正确的做法是创建一个表示地址的单独类。 然后你会有类似的东西:

 private List
addresses = new ArrayList
();

创建String的ArrayList的简单直接的方法

  List category = Arrays.asList("everton", "liverpool", "swansea", "chelsea"); 

干杯

 private List addresses = new ArrayList(); 

这将有效地工作……

试试这个

 ArrayList> PriceModelList = new ArrayList<>(); ArrayList> PriceQtyList = new ArrayList<>(); ArrayList> PriceTotalList = new ArrayList<>(); for (int i = 0; i < CustomerNames.length; i++) { PriceModelList.add(new ArrayList()); 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[] 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[] PriceTotal = {"1323", "1312321", "43123212", "43434", "12312", "43322"}; for (int m = 0; m < PriceTotal.length; m++) { PriceTotalList.get(i).add(PriceTotal[m]); } } ArrayList>> CustomersShoppingLists = new ArrayList<>(); CustomersShoppingLists.add(PriceModelList); CustomersShoppingLists.add(PriceQtyList); CustomersShoppingLists.add(PriceTotalList);