在 ArrayList 中搜索值,然后将值和键复制到新的 TreeSet
Search through ArrayList for value then copy value & key to new TreeSet
所以我有一个战士的 ArrayList,在这个数组列表中它包含具有如下变量的 Fighter 对象:
public Fighter()
{
super();
this.name = "";
this.ageGroup = "standard";
this.time = 0;
this.number = this.nextNumber;
this.nextNumber++;
}
我想做的是通过这个 arraylsit 搜索具有标准 ageGroup 的任何人,然后将它们添加到 TreeSet。基本上是为高级年龄组或初级年龄组等提供一组结果。我使用 TreeSet 的原因是该列表必须始终对键进行排序。
这些是我想要填充的列表:
juniorResults = new TreeSet<>();
standardResults = new TreeSet<>();
seniorResults = new TreeSet<>();
所以我已经走到这一步了:
public void categorise(){
Iterator iter = fighters.iterator();
while (iter.hasNext()){
if(runners.contains(Runner.getAgeGroup("senior"))){
Runner.getAgeGroup("senior");
}
}
老实说,我对这个很迷茫,所以任何帮助/教学点将不胜感激!
您应该能够执行以下操作:
public void categorise() {
for (Fighter fighter : fighters) {
switch (fighter.getAgeGroup()) {
case "senior":
seniorResults.add(fighter);
break;
case "standard":
standardResults.add(fighter);
break;
case "junior":
juniorResults.add(fighter);
break;
}
}
}
为了使其正常工作,您的 Fighter
class 应该有一个方法(最好是抽象的)returns 他们的年龄组 String
,Fighter#getAgeGroup
.
所以我有一个战士的 ArrayList,在这个数组列表中它包含具有如下变量的 Fighter 对象:
public Fighter()
{
super();
this.name = "";
this.ageGroup = "standard";
this.time = 0;
this.number = this.nextNumber;
this.nextNumber++;
}
我想做的是通过这个 arraylsit 搜索具有标准 ageGroup 的任何人,然后将它们添加到 TreeSet。基本上是为高级年龄组或初级年龄组等提供一组结果。我使用 TreeSet 的原因是该列表必须始终对键进行排序。
这些是我想要填充的列表:
juniorResults = new TreeSet<>();
standardResults = new TreeSet<>();
seniorResults = new TreeSet<>();
所以我已经走到这一步了:
public void categorise(){
Iterator iter = fighters.iterator();
while (iter.hasNext()){
if(runners.contains(Runner.getAgeGroup("senior"))){
Runner.getAgeGroup("senior");
}
}
老实说,我对这个很迷茫,所以任何帮助/教学点将不胜感激!
您应该能够执行以下操作:
public void categorise() {
for (Fighter fighter : fighters) {
switch (fighter.getAgeGroup()) {
case "senior":
seniorResults.add(fighter);
break;
case "standard":
standardResults.add(fighter);
break;
case "junior":
juniorResults.add(fighter);
break;
}
}
}
为了使其正常工作,您的 Fighter
class 应该有一个方法(最好是抽象的)returns 他们的年龄组 String
,Fighter#getAgeGroup
.