1

特定の名前を検索してarraylistに表示する方法はありますか?(ハッシュマップからキーを取得するような)

リストの形式は

名前:スコア-年齢

{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

あなたのリストをループしてください、そして私はあなたがあなたのスコアクラスのあなたのプロパティのためのゲッターを持っていることを望みます。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

スコアクラスが

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

簡単に言うと、スコアクラスに生徒の名前を返す関数がある場合

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 に答える