创建一个
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?
这个问题及其答案肯定会帮助您了解最流行的收藏类型之间的区别,并为您的案例选择最合适的收藏。