是否可以在Java中为单个arraylist添加不同的类型?

时间:2013-03-08 03:12:01

标签: java arraylist sentinel

我需要创建一个ArrayList(它不一定是一个ArrayList,但这是我到目前为止所尝试的)来保存学生ID,标记和课程名称。 到目前为止我有这样的事情:

import java.util.*;

public class MarksHandling {
  static Scanner keybrd = new Scanner(System.in);

  public static void main (String[]args){
    ArrayList<String> studentsCourses= new ArrayList<String>();
    ArrayList marks= new ArrayList();

while (keybrd.next()!="-1"|| keybrd.nextInt()!=-1){
  System.out.println("Please Type Your ID Number (-1 to quit)\n");
  studentsCourses.add(keybrd.next());
  System.out.println("Please Type Your Course Name (-1 to quit)\n");
  studentsCourses.add(keybrd.next());
  System.out.println("Please Type Your Mark (-1 to quit)\n");
  marks.add(keybrd.nextInt());
    }
  System.out.println("Done");

  }
}

(注意缩进;当我从IDE中粘贴时,它往往会搞砸) 我明白我可以把所有这些作为字符串输入,它会被发现;但最后我需要找到哪个学生成绩最高,哪个课程最高......

所以我想到尝试两个不同的数组(一个用于字符串,一个用于Int) 但这导致了我的哨兵问题(我目前正在努力修复......)

有没有办法将“int”和“String”类型同时接受到同一个arrayList中并按原样访问它们?

1 个答案:

答案 0 :(得分:3)

使用OO语言更好的方法是创建一个Student类,其中idmarkscourse names作为此类的成员变量,并且使用

ArrayList<Student> studentsCourses= new ArrayList<Student>();