JAVA-基础(List及其子类) 1.什么是List? java.util.List接口继承自Collection接口,是单列集合的一个重要分支,习惯性地会将实现了List接口的对象称为List集合。 2.list集合的特点? 它是一个元素存取有序的集合。简单来说就是队列方式存取。 它是一个带有索 ......
java-基础(list及其子类)
1.什么是list?
java.util.list
接口继承自collection
接口,是单列集合的一个重要分支,习惯性地会将实现了list
接口的对象称为list集合。
2.list集合的特点?
它是一个元素存取有序的集合。简单来说就是队列方式存取。
它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
3.常用方法?
public void add(int index, e element)
: 将指定的元素,添加到该集合中的指定位置上。
public e get(int index)
:返回集合中指定位置的元素。
public e remove(int index)
: 移除列表中指定位置的元素, 返回的是被移除的元素。
public e set(int index, e element)
:用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
4.list集合的优缺点?
增删慢,查找快。原因:集合数据存储的结构是数组结构。
5.子类?
(1)linkedlist?
linkedlist是一个双向链表。增删快,查询慢。
所以他的方法涉及了很多头尾删除方法。
方法:
public void addfirst(e e)
:将指定元素插入此列表的开头。
public void addlast(e e)
:将指定元素添加到此列表的结尾。
public e getfirst()
:返回此列表的第一个元素。
public e getlast()
:返回此列表的最后一个元素。
public e removefirst()
:移除并返回此列表的第一个元素。
public e removelast()
:移除并返回此列表的最后一个元素。
public e pop()
:从此列表所表示的堆栈处弹出一个元素。
public void push(e e)
:将元素推入此列表所表示的堆栈。
public boolean isempty()
:如果列表不包含元素,则返回true。
(2)arrylist?
arraylist 底层是基于数组来实现容量大小动态变化的。所以增删慢,查找快。
java.util.arraylist 是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。 arraylist 中可不断添加元素,其大小也自动增长。
构造方法:public arraylist() :构造一个内容为空的集合。
arraylist list = new arraylist<>();
方法:
public boolean add(e e) :将指定的元素添加到此集合的尾部。
public e remove(int index) :移除此集合中指定位置上的元素。返回被删除的元素。
public e get(int index) :返回此集合中指定位置上的元素。返回获取的元素。
public int size() :返回此集合中的元素数。遍历集合时,可以控制索引范围,防止越界。