如何在一个ArrayList中创建(未知数量的)多个ArrayList?

3

我有一个问题需要解决。我想创建一个元素数量未知的ArrayList,在该ArrayList中放置其他ArrayList。例如:一个医院队列,我想在这个队列中根据患者优先级拥有不同的队列。

System.out.println("whats the maximum priority?");
int maxPriority = Scan.nextInt();

//Trying to create a new ArrayList in every ArrayList index.
for(int k=0; k<maxPriority;k++){
    queues[k] = new Arraylist();
}

//trying to create a "patient"-object with a name and priority
public static patient(String name, int priority){
    this.name=name;
    this.priority=priority;
}       
// trying to get the priority of a patient//
public static getPriority(){
    return priority;
}
// Trying to add the patient last in the correct "priority queue"

public static placePatient()){
    queues.add(patient.getPriority)
}
1个回答

3

如果需要在ArrayList中嵌套另一个ArrayList,只需执行以下操作:

ArrayList<ArrayList<Type>> list = new ArrayList<ArrayList<Type>>();

这将给你一个类型为Type的ArrayList的嵌套ArrayList列表。然后,您可以像通常添加到ArrayList一样将ArrayList添加到list中。您无需事先知道ArrayList将保存的元素数量。


谢谢回复!如果我输入这段代码,程序会知道这是一个包含ArrayList的ArrayList。因此,如果我在这里写list.add(4),它会在索引4上添加一个新列表?如果我想要“查找”正确的ArrayList,然后将对象添加到该ArrayList中怎么办?再次感谢。 - user3187178
试一试看。list.add(4) 会给你一个错误,因为"4"不是 ArrayList。例如,您可以使用 list.add(new ArrayList<Integer>()) 添加一个 ArrayList。您可以使用 list.add(elem,index) 将元素添加到 ArrayList 的特定索引处。请参阅:http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#add(int, E)。API 文档还解释了您所需要的 get() 方法。 - Martin Dinov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接