我有两个这样的arraylist
ArrayList<Paragens> paragens = new ArrayList<Paragens>();
ArrayList<Rotas> rotas = new ArrayList<Rotas>();
Paragens是一个类,构造函数是
public Paragens(String nomeParagem) {
this.nomeParagem = nomeParagem;
this.existeNaRota = new String[]{"","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","",""};
this.id = contadorParagens++;
}
我还有另一堂课。 Rotas类。
public Rotas(String nomeRota, Paragens[] nomeParagens) {
this.nomeRota = nomeRota;
this.nomeParagens = nomeParagens;
this.id = contadorRotas++;
}
因此有
Paragens
(每个都有一个名称[nomeParagem
],一个id [contadorParagens
]和它们中存在的角色[existeNaRota
]。首先,仅使用
Paragens
(其名称)及其nomeParagem
创建用户输入id
巫婆。由于Rotas是后来添加的,因此existeNaRota
为空。然后将每个
Paragem
添加到paragens
arraylist用户添加
Rotas
时,他输入Rota
名称,然后输入该Paragens
上存在的Rotas
列表。 Rotas are finally added to
rotas的arraylist。我想做的是,当用户插入一个
Paragens
上存在的Rotas
时,existeNaRota
会用Rotas
存在的Paragem
填充它们。例。
用户输入一些名称,然后按以下方式创建
Paragens
:paragem = new Paragens("London");
paragens.add(paragem);
paragem = new Paragens("Manchester");
paragens.add(paragem);
paragem = new Paragens("Chelsea");
paragens.add(paragem);
现在用户将这样输入
Rotas
:estacoes[0] = "Chelsea";
estacoes[1] = "London";
rota = new Rotas("Route A", estacoes);
rotas.add(rota);
现在,由于有一个
Rota
,我想回到Paragens
并将名称放在existeNaRota
上。在
Paragens
上,我有此set方法public void setExisteNaRota(String existeNaRota, int indice) {
this.existeNaRota[indice] = existeNaRota;
indice++;
}
是否可以访问
paragens
数组列表,找到“切尔西” Paragem
并将“ Rota A”添加到existeNaRota
的第一个位置? 最佳答案
首先,考虑在“ Paragens”中使用List
而不是数组,因为您将向其中添加元素。这将允许添加(可能在列表的开头)而无需在数组中移动元素。
其次,在Paragens
中提供一种类似于addRota(Rota r)
的方法,该方法将Rota
添加到List
中Rotas
的Paragens
中。
class Paragens{
List<Rota> existEnRota = new ArrayList<Rota>();
public void addRota(Rota r){
existEnRota.add(0, r);
}
}