我认为可以用示例更好地解释它:
我有名称为sname,stime,snumber等的arrayList,每个数组都带有不同的值
动态字符串'dString'和"s"
的串联,变量VR携带(名称,时间,数字等)。
B基于我从循环中获得的VR值,我想在方法中使用相应的arraylist。我该如何使用dString来引用各自的arraylist?
ArrayList<String> sname = new ArrayList<>();
ArrayList<String> stime= new ArrayList<>();
ArrayList<String> snumber = new ArrayList<>();
String[] VR = {"name","time","number"};
for(String str:VR) {
String dString = "s"+str;
String temp= dString.get(2); //How to get this?
}
(这只是一个例子。arraylists不是空的。它是一个很长的程序,所以我没有包含它)。
答案 0 :(得分:2)
答案是:您应该使用Map。
这是Java为您提供的数据结构,用于将一个值(例如字符串列表)映射到键(例如:字符串)。
换句话说:当语言已经为您提供了该概念时,请不要发明自己的“字典”。
除此之外, real 答案是进行“完整” OOP。含义:您不应该拥有three different lists that together describe some object (linked by a common index)。相反,您宁愿创建一个具有名称,标题和数字字段的类。这样一来,您只能保存一个一个此类对象的列表。