Java相当于Python List

时间:2018-02-13 17:05:09

标签: java python

在Python中有一个名为' List'的数据结构。使用' List' Python中的数据结构我们可以追加,扩展,插入,删除,弹出,索引,计数,排序,反转。

Java中是否有类似的数据结构,我们可以像Python List一样获得所有功能?

4 个答案:

答案 0 :(得分:3)

存在多个集合,但您可能正在寻找ArrayList

在Python中,你可以简单地声明一个如下列表:

myList = []

并开始使用它。

在Java中,最好首先从接口声明:

List<String> myList = new ArrayList<String>();

Python          Java
append          add
Remove          remove
len(listname)   list.size

对列表进行排序可能需要更多工作,例如,取决于您可能需要实施CompactorComparable的对象。

ArrayList会随着您添加项目而增长,无需自行扩展。

至于reverse()pop(),我推荐你可以参考:

How to reverse a list in Java?

How to pop items from a collection in Java?

答案 1 :(得分:3)

最接近Python的列表是ArrayList&lt;&gt;并且可以声明为

//Declaring an ArrayList
ArrayList<String> stringArrayList = new ArrayList<String>();

//add to the end of the list
stringArrayList.add("foo");

//add to the beggining of the list
stringArrayList.add(0, "food");

//remove an element at a spesific index
stringArrayList.remove(4);

//get the size of the list
stringArrayList.size();

//clear the whole list
stringArrayList.clear();

//copy to a new ArrayList
ArrayList<String> myNewArrayList = new ArrayList<>(oldArrayList);

//to reverse
Collections.reverse(stringArrayList);

//something that could work as "pop" could be
stringArrayList.remove(stringArrayList.size() - 1);

Java提供了大量精选集合,您可以查看Oracle在其网站上的教程https://docs.oracle.com/javase/tutorial/collections/

重要提示:与Python不同,在Java中,必须声明列表在实例化时将使用的数据类型

答案 2 :(得分:0)

Java有一个名为list的接口,它具有ArrayList,AbstractList,AttributeList等实现。

https://docs.oracle.com/javase/8/docs/api/java/util/List.html

但是,每个人都有不同的功能,我不知道他们是否拥有你指定的所有内容,例如.reverse()。

答案 3 :(得分:0)

看看java中的Collections。有许多列表(ArrayList,LinkedList等)。选择需求和复杂性(空间和时间)所需的最佳数据结构。