我试图在列表中生成具有可变数量项目的可变数量的数组列表。这意味着我不能使用数组而不是arrayList。
在数组中生成JLabel时,使用for循环并说:
label[i]=new JLabel();
这是否可以用于arrayList?
我无法提出我的代码,因为它很长但是我会给你一个大概的意思:在一个txt中,有多个对象,在这种情况下,是部队:长弓兵, man at arms,knight ...每个1共享相同的统计数据(ArrayLists),但每个都有不同的值。我有它,所以一旦bufferedReader完成了一个部队,它将所有的arraylists发送到另一个类,并继续阅读和覆盖旧的部队统计(他们现在存储在一个不同的类)。问题是,其他阶级如何区分统计数据?如果部队类型的数量不变,这将很容易,但是,它不是。那我怎么能这样做呢?
编辑:这里有一些源代码:
while ((text = reader.readLine()) != null) {
StringTokenizer troops = new StringTokenizer(text, "=");
String list = troops.nextToken();
String value = troops.nextToken();
else if (list.equals("Done")) {
troop trooper=new troop();
trooper.troopLoaded(kingdom,lord,troop,troopAmount,weapon,animal);
}
/////
部队类:
public void troopLoaded(ArrayList<String> kingdom,ArrayList<String> lord,ArrayList<String> troop,ArrayList<String>,troopAmount,ArrayList<String> weapon,ArrayList<String> animal) {
System.out.println(kingdom);
System.out.println(lord);
System.out.println(troop);
System.out.println(troopAmount);
System.out.println(weapon);
System.out.println(animal);
}
如何在没有在部队班级写作的情况下给军队派遣军队?
答案 0 :(得分:2)
import java.util.ArrayList;
import java.util.List;
class Item {
private name;
public String getName() {
return name;
}
private void setName(String name) {
this.name = name;
}
public class ItemManager {
public static List<ArrayList<Item>> megaList;
public static void main(String args) {
megaList = new ArrayList<ArrayList<Item>>();
ArrayList<Item> someItems = new ArrayList<Item>();
someItems.add(new Item());
someItems.add(new Item());
megaList.add(someItems);
for(ArrayList<Item> list : megaList ) {
for (Item item : list) {
String nameOfItem = item.getName();
}
}
}
然后你可以在megaList里面迭代并在someItems里面递归迭代。
答案 1 :(得分:1)
如果我正确理解您的问题,您可以使用:
ArrayList<ArrayList<Object>>
答案 2 :(得分:0)
IIUC,您想要的是不是将所有这些参数传递给troopLoaded()
方法?
您可以考虑使用Map
ArrayList
s:
Map<String,ArrayList<String>> map = new HashMap<String,ArrayList<String>>();
map.put("kingdom", new ArrayList<String());
...
map.put("animal", new ArrayList<String());
然后打电话:
trooper.troopLoaded(map);
答案 3 :(得分:0)
我刚使用了2d数组[] []