按变量搜索数组

时间:2016-01-22 22:00:57

标签: java

我正在尝试制作一个你输入你名字的程序,然后你会看到你的成绩。我想这样做的方法是将userInput分配给变量,然后打印出与userInput同名的arrayList。下面是它看起来如何的基本概念,但我不知道如何,或者是否可能。

static ArrayList<String> test = new ArrayList<String>();

public static void main(String[] args) {
    test.add("This is a test");
    String trial = test;
    String thing = test.get(0);
    System.out.println(thing);
}

1 个答案:

答案 0 :(得分:0)

为什么不使用地图来存放密钥,它的价值如HashMap?通过这种方式,您可以将name作为关键字存储,将等级存储为List中的值,或者如果只是等级,则可以使用int数组。

我们可以解决这个问题,如

final Map<String, List<Test>> gradesMap = new HashMap<>();

final Test math = new Test("Finding determinant of Matrix 4x4", 6.5);
final Test geography = new Test("Capitals around the world", 8.6);

final List<Test> testList = new ArrayList<>();
testList.add(math);
testList.add(geography);

gradesMap.put("Josh", testList);


private class Test {

    public final String subject;
    public final double grade;

    public Test(final String subject, final double grade) {
        this.subject = subject;
        this.grade = grade;
    }
}

如果要存储带有成绩的列表,可以循环访问条目并将其写入文件,或者可以扩展Hashmap类并实现Serializable以序列化gradesMap。 / p>