List是有序集合,存入元素和输出元素的顺序是一样的,也被成为序列,使用者也可以通过下标索引访问元素。允许重复的元素出现在集合中。
通过运行结果可以看到重复的123元素成功存入并打印出来,也成功通过索引查找到了元素789。
list集合特有的方法还包括:add(int dex,E element),在指定位置插入元素
remove(int index),通过给定的索引删除并返回指定的元素。
要注意的是,每次根据索引插入元素后,部分元素的索引会变更,代码中存在多次精准插入或者删除的动作时,要注意到这些变化。
List集合又拥有两个子类集合:Arraylist和Linkedlist。
上面我们用的都是Arraylist,接下来是Linkedlist的特有方法:
addFirst(E e):在列表开头插入元素。
addLast(E e):在列表结尾插入元素。
getFirst(E e):获取列表开头的元素。
getLast(E e):获取列表结尾的元素。
removeFirst():移除并返回列表开头的元素。
removeLast():移除并返回列表结尾的元素。
现在成功在集合首尾录入了指定元素,并在首尾录入并获取了指定的元素。
现在移除首尾元素
通过这些特有方法,我们可以发现Linkedlist能够对集合的首尾元素进行操作,在增加和删除元素方面更加方便。
而造成这两个子类存在差异的原因,则是它们的底层构造,Arraylist的底层数据是数组,Linked的底层数据是链表。