如何在列表中创建可变数量的数组项目列表中的可变数量的项目?
我试图用可变数目的项目在列表中生成可变数目的arrayLists。这意味着我不能使用数组而不是arrayList。如何在列表中创建可变数量的数组项目列表中的可变数量的项目?
当在一个阵列产生一个JLabel,您使用的for循环,并说:
label[i]=new JLabel();
这是可能的ArrayList?
我不能忍受我的代码,因为它很长,但我会给你的一般想法:在txt中,有多个对象,在这种情况下,部队:longbowman,武器的人,骑士.. 。每个1共享相同的统计数据(ArrayLists),但每个统计数据具有不同的值。我拥有它,这样一旦bufferedReader结束了一个队伍,它就会将所有阵列列表发送给另一个队伍,并继续阅读和覆盖旧队伍的统计数据(他们现在存储在不同的班级中)。问题是,其他阶级如何区分统计数据?如果部队类型的数量不变,这很容易,但事实并非如此。那我该怎么做?
编辑:这里是一个位的源代码:
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);
}
怎么给没有过多地将队列课程写入队伍课程的队伍?
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内递归迭代。
我添加了迭代部分和示例Item方法。 – 2012-01-14 03:34:49
IIUC,你想要的是没有将所有这些参数传递给troopLoaded()
方法?
您可以考虑使用ArrayList
的Map
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);
我不认为你理解我的问题。问题在于每个属性也是未知的(以及其他变量),因此,可能有10名拥有0-100种不同武器的部队,然后在该程序中,我必须以某种方式将每个部队连接到那里武器,但不知道如何。 – Russell 2012-01-14 03:19:32
如果我正确理解你的问题,你可以使用:
ArrayList<ArrayList<Object>>
cengiz说完全相同,但更详细的,给他支票,对不起。我虽然投票给你。 – Russell 2012-01-14 03:29:40
我只是用一个二维数组,数组[] []
不,我不能,有一个叫做武器统计,因为他想要的,即剑,斧,polaxe队伍能有尽可能多的武器.. – Russell 2012-01-14 03:31:04