我正在尝试在具有特定名称的方法中在运行时中构建对象的ArrayList:
public void createNewArray(String arrayName){
ArrayList <StoreItem> arrayName = new ArrayList<StoreItem>();
}
我尝试的原因是因为,我不知道需要创建多少个ArrayLists。
我要做的是将字符串参数传递给函数(createNewArray
),然后将此参数用作ArrayList名称。
我可以用Java做这件事吗?
答案 0 :(得分:0)
使用HashMap:
public static void main (String[] args) throws java.lang.Exception
{
HashMap<String, ArrayList<Integer>> map = new HashMap<String, ArrayList<Integer>>();
}
public static void createNewArray(String arrayName){
// Create your array list here
ArrayList<Integer> list = new ArrayList<Integer>();
map.put(arrayName, list);
}
答案 1 :(得分:0)
我不知道需要创建多少个ArrayLists。
使用数组列表的数组列表怎么样?你知道那些事情存在。
myLists.add(new ArrayList<>());
myLists.get(0).add(new StoreItem());
// ...
你可以像普通的数组列表一样使用它:
HashMap<String, ArrayList<StoreItem>> myLists = new HashMap<>();
或者,如果要使用字符串访问其中一个列表,可以尝试使用数组列表的哈希映射:
myLists.put("foo", new ArrayList<>());
myLists.get("foo").add(new StoreItem());
// ...
你可以像普通的哈希映射一样使用它:
settings->tools->terminal
答案 2 :(得分:0)
为什么不使用HashMap
ArrayList
?
public class MyArrays <T> {
protected HashMap<String, ArrayList<T>> arrays = new HashMap<>();
public void createNewArray(String arrayName) {
arrays.put(arrayName, new ArrayList<T>());
}
public ArrayList<T> getArray(String arrayName) {
return arrays.get(arrayName);
}
}
你可以这样简单地使用它:
MyArrays<StoredItem> arr = new MyArrays<>();
arr.createNewArray("first");
...
ArrayList<StoredItem> first = arr.getArray("first");