使用动态名称创建变量 - Java

时间:2017-03-17 11:05:21

标签: java collections

我有一个ArrayList的ArrayLists单词,其中Word是一个类。

ArrayList<ArrayList<Word>> arrayColumns = new ArrayList(); 

对于每个新列,我必须创建一个新的WordsList,然后将其添加到arrayColumns。

这个ArrayList我是动态创建的,想要将它命名为arrayWordColumn1,arrayWordColumn2等,并添加每个新列。由于我不知道会有多少列,我正在尝试编写一个方法来创建一个ArrayList。喜欢的东西:

public ArrayList<OCRWord> createColumn (count){
    ArrayList<OCRWord> arrayWordColumn+count = new ArrayList();
    return ArrayList;
}

如何以这样的方式创建arrayLists,以便如果count为1,2,3,4 ...它应该创建名为arrayWordColumn1,arrayWordColumn2,arrayWordColumn3等的ArrayLists?

简而言之,名称arrayWordColumn1应该通过连接两件事来形成 - &gt; arrayWordColumn + count其中count将是1,2,3,4 ...

4 个答案:

答案 0 :(得分:1)

可能喜欢这个

Map<String,List<Word>> map = new HashMap();
map.put("arrayWordColumn1", list);

答案 1 :(得分:1)

声明地图字符串,列表

Map<String,List<Word>> myDynamicMap = new HashMap<>();

添加动态变量:

myDynamicMap.put("ListWord_1", list1);
myDynamicMap.put("ListWord_2", someList);
myDynamicMap.put("ListWord_3", anotherList);

从地图中获取列表:

myDynamicMap.get("ListWord_3");

答案 2 :(得分:0)

你可以使用这个结构:
ArrayList&lt;地图&gt;我觉得这样比较好 具有整数键的Map的ArrayList和单词列表在添加新的单词列表时访问会更好你应该使用new Integer(value) 祝你好运

答案 3 :(得分:0)

您可以在运行时获取变量的名称。获取这些变量名称后,您可以使用Map或任何其他结构创建引用。

how to get variable names at runtime

摘要如下:

  

提供一种轻松可靠地检索参数的机制   运行时通过核心反射的方法和构造函数的名称。