在arraylist中搜索名称并显示所有内容

时间:2012-11-30 10:04:21

标签: java arraylist

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

列表格式为

姓名:得分-age

{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 个答案:

答案 0 :(得分:2)

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

List<Score> scores = new ArrayList<>();    
for(Score score : scores) {
    if (score.getName().equals("A")) {
       ...
    }
}

答案 1 :(得分:1)

循环通过您的列表,我希望您在Score类中拥有属性的getter。调用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 
}

}

答案 2 :(得分: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
   }
}

答案 3 :(得分: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());
    }
}