以编程方式命名变量对象

时间:2014-05-13 18:55:39

标签: android variables arraylist

我有一个相当简单的问题,我如何使用另一个变量命名变量。

例如:

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。这里的错误显然是一个重复的局部变量,但是这个命名的正确方法是什么?

感谢任何帮助!

2 个答案:

答案 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>());
    }       
}