制作一个整数arraylists数组

时间:2015-03-30 22:36:37

标签: java arrays arraylist hashtable

我正在开发一个医疗数据库程序,它使用我使用行创建的哈希表

ArrayList<Integer[]> hashTable = new ArrayList<>(TABLE_SIZE);

TABLE_SIZE设置为57,我希望基本上有一个ArrayList个57(或更少)数组,对应于从症状生成的hashCode。我的最终输出将是

含有流感的文件是1,4,10,27

我知道将TABLE_SIZE放在/离开现在将导致它只包含57而不是设置实际大小。我如何在像这样的容器中设置尺寸?

我有限制,不允许我使用像java.util.HashTable之类的东西。我得到的唯一自由是我可以使用ArrayList s。

任何帮助都很好......帮助。

2 个答案:

答案 0 :(得分:0)

您需要将TABLE_SIZE数组添加到hashTable

for (int i = 0; i < TABLE_SIZE; ++i) {
  hashTable.add(new Integer[0]);
}

之后,hashTable.size() == 57。但是,请注意,您需要提前选择数组的大小;你无法动态调整它们的大小。但是,您可以将hashTable更改为列表列表:

ArrayList<ArrayList<Integer>> hashTable = new ArrayList<>(TABLE_SIZE);
for (int i = 0; i < TABLE_SIZE; ++i) {
  hashTable.add(new ArrayList<>());
}

答案 1 :(得分:0)

  

我知道将TABLE_SIZE放在/离开现在将导致它只包含57而不是设置实际大小。

是什么给你留下这样的印象?实际上,The constructor you are calling将以一种能够容纳57个项目的方式初始化ArrayList,而不必增加其内部数组的大小。

也就是说,当您使用ArrayList时,通常最好忽略可能存在或不存在的项目数量,只需通过{{添加您想要的项目即可。 1}}方法。它会根据需要调整自己的大小。