创建一个

ArrayList<Integer> connectedTo = new ArrayList<>();
connectedTo.add(0,4);
connectedTo.add(3,4);


在上面提到的语句中,connectedTo.add(0,4)在第零个位置插入期望的值4。

但是connectedTo.add(3,4)抛出java.lang.IndexOutOfBoundsException。为什么会这样?
根据我的理解,ArrayList应该动态调整大小并允许插入吗?

有什么办法可以克服这个问题?如果python创建表达式

vertList = {}
vertList[0] = 1
vertList[2] = 3


允许我将值保存在各种索引中而没有任何问题。
如何实现代码执行相同的操作。

最佳答案

恐怕您不匹配两种不同的数据类型。 {}是字典,它允许您映射值。另一方面,ArrayList是一种list,您应该在Python中使用[]对其进行初始化。您为列表提供的Python代码无法正常工作。我想,您使用的add方法最多在列表的末尾添加一个元素。

看看这个:In Python, when to use a Dictionary, List or Set?

这个问题及其答案肯定会帮助您了解最流行的收藏类型之间的区别,并为您的案例选择最合适的收藏。

10-06 13:50