我有一个相当简单的问题,我如何使用另一个变量命名变量。
例如:
public static void addSortListItem(int group_id) {
if (lists.contains(group_id)) {
// add item to correct array list
} else {
lists.add(group_id);
// create new array list using the group_id value as name identifier
ArrayList<ExpListObject> group_id = new ArrayList<ExpListObject>();
}
}
在这个函数中,我需要使用group_id整数作为名称创建一个新的arrayList。这里的错误显然是一个重复的局部变量,但是这个命名的正确方法是什么?
感谢任何帮助!
答案 0 :(得分:1)
您正在使用group_id作为标识符名称和参数名称。这没有意义。而是将新的ArrayList映射到group_id。例如:
HashMap<Integer,ArrayList<ExpListObject>> hm = new HashMap<Integer,ArrayList<ExpListObject>>();
hm.put(group_id, new ArrayList<ExpListObject>());
答案 1 :(得分:1)
你可以这样使用HashMap制作这样的东西:
public static void addSortListItem(int group_id) {
//Create a HashMap to storage your lists
HashMap<String, ArrayList<ExpListObject>> mapList = new HashMap<String, ArrayList<ExpListObject>>();
ArrayList<Object> array = mapList.get(String.valueOf(group_id));
if (array != null) {
array.add(new ExpListObject());
} else {
// Insert the new Array into the HashMap
mapList.put(String.valueOf(group_id), new ArrayList<ExpListObject>());
}
}
或者这样:
public static void addSortListItem(int group_id) {
//Create a HashMap to storage your lists
HashMap< Integer, ArrayList<ExpListObject>> mapList = new HashMap< Integer, ArrayList<ExpListObject>>();
ArrayList<Object> array = mapList.get(group_id);
if (array != null) {
array.add(new ExpListObject());
} else {
// Insert the new Array into the HashMap
mapList.put(group_id, new ArrayList<ExpListObject>());
}
}