我有三個列表,我需要移動動物對象從列表animalSource使用列表animalFilterName列出animalTarget。只有列表中出現名字的動物animalFilterName,應該從動物來源改爲animalTarget,表現明智的做法是否比下面做得更好。現在只使用樣本數據。從ArrayList中移動對象的其他
public class Animal {
private String name;
private String color;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
public class MoveAnimal {
/**
* @param args
*/
public static void main(String[] args) {
List<Animal> animalSource = new ArrayList<Animal>();
List<String> animalFilterName = new ArrayList<String>();
List<Animal> animalTarget = new ArrayList<Animal>();
animalFilterName.add("Name1");
animalFilterName.add("Name2");
Animal a1 = new Animal();
a1.setColor("Color1");
a1.setName("Name1");
Animal a2 = new Animal();
a2.setColor("Color2");
a2.setName("Name2");
Animal a3 = new Animal();
a3.setColor("Color1");
a3.setName("Name3");
Animal a4 = new Animal();
a4.setColor("Color1");
a4.setName("Name4");
Animal a5 = new Animal();
a5.setColor("Color5");
a5.setName("Name1");
animalSource.add(a1);
animalSource.add(a2);
animalSource.add(a3);
animalSource.add(a4);
animalSource.add(a5);
for(String s: animalFilterName) {
for(Animal a: animalSource) {
if(s.equals(a.getName())) {
animalTarget.add(a);
}
}
}
}
}
對不起,你的問題是什麼?編輯:啊,我錯過了,因爲缺少「?」。 「更好」是什麼意思?也許更快,或更清潔? – BlackVegetable