在Python中有一个名为' List'的数据结构。使用' List' Python中的数据结构我们可以追加,扩展,插入,删除,弹出,索引,计数,排序,反转。
Java中是否有类似的数据结构,我们可以像Python List一样获得所有功能?
答案 0 :(得分:3)
存在多个集合,但您可能正在寻找ArrayList
在Python中,你可以简单地声明一个如下列表:
myList = []
并开始使用它。
在Java中,最好首先从接口声明:
List<String> myList = new ArrayList<String>();
Python Java
append add
Remove remove
len(listname) list.size
对列表进行排序可能需要更多工作,例如,取决于您可能需要实施Compactor
或Comparable
的对象。
ArrayList
会随着您添加项目而增长,无需自行扩展。
至于reverse()
和pop()
,我推荐你可以参考:
答案 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等)。选择需求和复杂性(空间和时间)所需的最佳数据结构。