Java中的List接口實現(xiàn)類LinkList和ArrayList詳解
List集合
java.util.List接口繼承自Collection接口,是單列集合的一個重要分支,習慣性地會將實現(xiàn)了List`接口的對象稱為List集合。
在List集合中允許出現(xiàn)重復的元素,所有的元素是以一種線性方式進行存儲的,在程序中可以通過索引來訪問集合中的指定元素。
另外,List集合還有一個特點就是元素有序,即元素的存入順序和取出順序一致。
List接口特點
它是一個元素存取有序的集合。例如,存元素的順序是11、22、33。那么集合中,元素的存儲就是按照11、22、33的順序完成的)。
它是一個帶有索引的集合,通過索引就可以精確的操作集合中的元素(與數(shù)組的索引是一個道理)。
集合中可以有重復的元素,通過元素的equals方法,來比較是否為重復的元素。
List接口中常用方法
List作為Collection集合的子接口,不但繼承了Collection接口中的全部方法,而且還增加了一些根據(jù)元素索引來操作集合的特有方法,如下:
- public void add(int index, E element): 將指定的元素,添加到該集合中的指定位置上。
- public E get(int index):返回集合中指定位置的元素。
- public E remove(int index): 移除列表中指定位置的元素, 返回的是被移除的元素。
- public E set(int index, E element):用指定元素替換集合中指定位置的元素,返回值的更新前的元素。
List的子類
ArrayList集合 和 LinkedList集合
ArrayList集合
LinkedList集合
java.util.LinkedList集合數(shù)據(jù)存儲的結(jié)構(gòu)是鏈表結(jié)構(gòu)。方便元素添加、刪除的集合。
LinkedList是一個雙向鏈表,那么雙 向鏈表是什么樣子的呢,我們用個圖了解下

實際開發(fā)中對一個集合元素的添加與刪除經(jīng)常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。
- public void addFirst(E e):將指定元素插入此列表的開頭。
- public void addLast(E e):將指定元素添加到此列表的結(jié)尾。
- public E getFirst():返回此列表的第一個元素。
- public E getLast():返回此列表的最后一個元素。
- public E removeFirst():移除并返回此列表的第一個元素。
- public E removeLast():移除并返回此列表的最后一個元素。
- public E pop():從此列表所表示的堆棧處彈出一個元素。
- public void push(E e):將元素推入此列表所表示的堆棧。
- public boolean isEmpty():如果列表不包含元素,則返回true。
LinkedList是List的子類,List中的方法LinkedList都是可以使用,這里就不做詳細介紹,我們只需要了解LinkedList的特有方法即可。在開發(fā)時,LinkedList集合也可以作為堆棧,隊列的結(jié)構(gòu)使用。
public class LinkedListDemo {
public static void main(String[] args) {
LinkedList<String> link = new LinkedList<String>();
//添加元素
link.addFirst("abc1");
link.addFirst("abc2");
link.addFirst("abc3");
System.out.println(link);
// 獲取元素
System.out.println(link.getFirst());
System.out.println(link.getLast());
// 刪除元素
System.out.println(link.removeFirst());
System.out.println(link.removeLast());
while (!link.isEmpty()) { //判斷集合是否為空
System.out.println(link.pop()); //彈出集合中的棧頂元素
}
System.out.println(link);
}
}到此這篇關(guān)于Java中的List接口實現(xiàn)類LinkList和ArrayList詳解的文章就介紹到這了,更多相關(guān)Java中的List接口實現(xiàn)類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決@PathVariable參數(shù)接收不完整的問題
這篇文章主要介紹了解決@PathVariable參數(shù)接收不完整的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-08-08
淺析Java?NIO?直接緩沖區(qū)和非直接緩沖區(qū)
本篇文章主要為大家介紹了Java?NIO?中直接緩沖區(qū)和非直接緩沖區(qū)的定義以及使用流程,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-11-11
Java基于EasyExcel實現(xiàn)讀取Excel文件詳解
這篇文章主要為大家詳細介紹了Java如何使用阿里巴巴的EasyExcel庫來讀取Excel文件,包括引入依賴、讀取器的實現(xiàn)以及一個簡單的測試示例,感興趣的小伙伴可以了解下2026-04-04
詳解如何使用Jersey客戶端請求Spring Boot(RESTFul)服務(wù)
本篇文章主要介紹了詳解如何使用Jersey客戶端請求Spring Boot(RESTFul)服務(wù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01

