1

有没有办法搜索某个名称并将其显示为 arraylist?(比如从 hashmap 中获取密钥)

列表格式为

名称:得分-年龄

{A: 100 - 15, A: 200 - 16, B: 75 -11}

而我想要做的是,只获取 A 的数据并显示它。

List<Score> scores = new ArrayList<>();
scores.add(new Score("A", 100, 15));
scores.add(new Score("A", 200, 16));
scores.add(new Score("B", 75, 11));
4

4 回答 4

2

我认为ArrayList你需要遍历你的列表并找到相应的score element并显示它。

List<Score> scores = new ArrayList<>();    
for(Score score : scores) {
    if (score.getName().equals("A")) {
       ...
    }
}
于 2012-11-30T10:09:23.513 回答
1

循环遍历您的列表,我希望您在 Score 类中为您的属性提供一个吸气剂。调用 getName() 并检查名称是否等于输入名称。

List<Score> scores = new ArrayList<>();    
for(Score s: scores){
if("yourinputstr".equals(s.getName())){
System.out.println(s);//you'd have to override toString in your score class to show name, age and score 
}

}
于 2012-11-30T10:09:28.157 回答
1

假设您的 Score 课程是

public class Score
{
   public String str1;
   public int num1;
   public int num2;
}

那么你可以这样做

for(Score scr : scores)
{
   if(scr.str1.equals("A")) 
   {
       //do some job
   }
}
于 2012-11-30T10:11:10.997 回答
1

简单地说,您可以这样做:如果在您的 Score 课程中有任何返回学生姓名的函数,那么

List<Score> scores = new ArrayList<>();    
for(Score score: scores){
   if(scores .getName().equals("A")){
     System.out.println(score.getName() +score.getScore() + "-" + score.getAge());
    }
}
于 2012-11-30T10:13:05.600 回答