hashmaps的arraylist索引超出范围

时间:2015-01-28 22:43:48

标签: java

我希望这不会重复。我有以下代码:

ArrayList<HashMap<BigInteger, HashSet<Integer>>> maps = new ArrayList<HashMap<BigInteger, HashSet<Integer>>>();
maps.get(i).put(key, new HashSet<>());

我的索引超出界限错误。我想这是因为我还没有初始化arraylist。有什么意见吗?

2015年1月28日下午5:58后编辑: 这就是事情。我需要检查第i个hashmap(显然我不知道它是否存在)是否包含某个键。我怎么知道第i个hashmap不存在。

1 个答案:

答案 0 :(得分:1)

您似乎在空.get(int)上使用ArrayList函数。

如果要将数据插入ArrayList,则需要使用.add(E)功能。如果要插入特定索引,可以使用.add(int, E)函数。 在您的情况下,这将是:

maps.add(i, new HashMap<BigInteger, HashSet<Integer>>());
maps.get(i).put(key, new HashSet<>());