python列表与java数组有何不同

x8goxv8g  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(274)

如我们所知,阵列以连续的方式将数据存储在存储器中,即存储的数据(阵列的元素)是连续的,而不是随机存储在不同的地址。这就是为什么我们不能动态地改变数组的大小。但是对于python列表,可以在需要时更改数组的大小。那么,python列表是否也以连续的方式存储数据,还是使用不同的方法存储数据?此外,数组中所有数据元素的大小也是相同的,例如在java或c中,即数组中的所有元素消耗相同的内存量,我们清楚地知道,在python中不是这样的,因为我们可以在同一个列表中存储不同的数据类型。所以,基本上,我的问题是,python中的列表和java(或任何其他语言,如c或c)中的数组之间的根本区别是什么。我非常感谢你的帮助。

hpcdzsge

hpcdzsge1#

是的,python列表使用连续的内存块来快速索引。
python列表类似于c和java等语言中的数组,因为它们都表示将变量分组在一起的方法。但是,python中的list与java中的arraylist对象关系更密切。这是因为java中的arraylists和python中的列表可以随着添加更多元素而增大。c和java中的数组大小是固定的。
除此之外,python列表还可以包含多个变量类型。例如,我们可以

list = ['Hello!', 'Welcome', '1234']

在python中,它同时包含string和int,但是在java中,我们不能这样做。使用 List<Object> 每个类都扩展了对象,但仍然不支持原语。

相关问题