国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java集合框架(二)LinkedList常見方法的使用

這篇具有很好參考價值的文章主要介紹了java集合框架(二)LinkedList常見方法的使用。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

@[toc]
## 一、什么是LinkedList

LinkedList是Java中的一個雙向鏈表。

它實現(xiàn)了List和Deque接口,在使用時可以像List一樣使用元素索引,也可以像Deque一樣使用隊列操作。

LinkedList每個節(jié)點都包含了前一個和后一個節(jié)點的引用,因此可以很方便地在其中進行節(jié)點的插入、刪除和移動。

相比于ArrayList,LinkedList的插入和刪除操作效率更高,但是訪問元素時效率較低,因為需要遍歷鏈表來尋找目標元素。

LinkedList的使用場景主要是場景是需要頻繁執(zhí)行插入和刪除操作且對訪問操作的效率要求較低的情況。例如隊列、棧等數(shù)據(jù)結(jié)構(gòu)的實現(xiàn),或者是需要實現(xiàn)LRU緩存淘汰策略的場景。

## 二、常用的方法

| 返回類型 |方法 |描述 |
|--|--|--|
| boolean | add(E o) |將指定元素追加到此列表的結(jié)尾。|
| void | add(int index, E element) | 在此列表中指定的位置插入指定的元素。 |
| boolean | addAll(Collection<? extends E> c) | 追加指定 collection 中的所有元素到此列表的結(jié)尾,順序是指定 collection 的迭代器返回這些元素的順序。 |
| boolean |addAll(int index, Collection<? extends E> c) | 將指定集合中的所有元素從指定位置開始插入此列表。 |
| void | addFirst(E o) | 將指定元素插入此列表的開頭。 |
| void | addLast(E o) |將指定元素追加到此列表的結(jié)尾。 |
| void | clear() | 從此列表中移除所有元素。 |
| boolean | contains(Object o) | 如果此列表包含指定元素,則返回 true。 |
| E | get(int index) | 返回此列表中指定位置處的元素。 |
| E | getFirst() | 返回此列表的第一個元素。 |
| E | getLast() | 返回此列表的最后一個元素。 |
| int | indexOf(Object o) | 返回此列表中首次出現(xiàn)的指定元素的索引,如果列表中不包含此元素,則返回 -1。 |
| int |lastIndexOf(Object o) | 返回此列表中最后出現(xiàn)的指定元素的索引,如果列表中不包含此元素,則返回 -1。 |
| ListIterator<E> | listIterator(int index) | 返回此列表中的元素的列表迭代器(按適當順序),從列表中指定位置開始。 |
| E | peek() | 找到但不移除此列表的頭(第一個元素)。 |
| E | remove() | 找到并移除此列表的頭(第一個元素)。 |
| E | remove(int index) | 移除此列表中指定位置處的元素。 |
| boolean | remove(Object o) | 移除此列表中首次出現(xiàn)的指定元素。 |
| E | removeFirst() | 移除并返回此列表的第一個元素。 |
| E | removeLast() | 移除并返回此列表的最后一個元素。 |
| E | set(int index, E element) | 將此列表中指定位置的元素替換為指定的元素。 |
| int | size() | 返回此列表的元素數(shù)。 |

下面是一個示例代碼:

### 2.1 add():
在鏈表的末尾添加元素。如果需要在指定位置添加元素,則可以使用add(index, element)方法。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

System.out.println(list); // 結(jié)果:[apple, banana, orange]
```

### 2.2 remove():
在鏈表中刪除指定元素。如果需要刪除指定位置的元素,則可以使用remove(index)方法。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.remove("banana");

System.out.println(list); // 結(jié)果:[apple, orange]
```

### 2.3 get():
獲取指定位置的元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

String second = list.get(1);

System.out.println(second); // 結(jié)果:banana
```

### 2.4 set():
替換指定位置的元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.set(1, "grape");

System.out.println(list); // 結(jié)果:[apple, grape, orange]
```

### 2.5 clear():
清空鏈表中的所有元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.clear();

System.out.println(list); // 結(jié)果:[]
```

### 2.6 size():
返回鏈表中的元素數(shù)量。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

int size = list.size();

System.out.println(size); //結(jié)果:3
```

### 2.7 contains():
判斷鏈表中是否包含指定元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

boolean hasApple = list.contains("apple");

System.out.println(hasApple); //結(jié)果: true
```

### 2.8 addFirst():
在鏈表的頭部插入元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.addFirst("pear");

System.out.println(list); // 結(jié)果:[pear, apple, banana, orange]
```

### 2.9 addLast():
在鏈表的尾部插入元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.addLast("pear");

System.out.println(list); // 結(jié)果:[apple, banana, orange, pear]
```

### 2.10 getFirst():
獲取鏈表的第一個元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

String first = list.getFirst();

System.out.println(first); // 結(jié)果:apple
```

### 2.11 getLast():
獲取鏈表的最后一個元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

String last = list.getLast();

System.out.println(last); // 結(jié)果:orange
```

### 2.12 removeFirst():
移除鏈表的第一個元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.removeFirst();

System.out.println(list); // 結(jié)果:[banana, orange]
```

### 2.13 removeLast():
移除鏈表的最后一個元素。

代碼演示:

```java
LinkedList<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
list.add("orange");

list.removeLast();

System.out.println(list); // 結(jié)果:[apple, banana]
```

所有代碼演示的,運行結(jié)果:

```java
[apple, banana, orange]
[apple, orange]
banana
[apple, grape, orange]
[]
3
true
[pear, apple, banana, orange]
[apple, banana, orange, pear]
apple
orange
[banana, orange]
[apple, banana]
```文章來源地址http://www.zghlxwxcb.cn/news/detail-747658.html

到了這里,關(guān)于java集合框架(二)LinkedList常見方法的使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java集合之LinkedList

    Java集合之LinkedList

    目錄 基本介紹? 常用方法 源碼解析 1. LinkedList的底層結(jié)構(gòu),Node雙向鏈表 2. LinkedList的幾個內(nèi)部變量 3.?getFirst() 4.?removeFirst() 5. addFirst(E e) 6.?contains(Object o) 7. add(E e) 8. remove(Object o) 9. addAll(int index, Collection c) 10. get(int index) 11.?spliterator() 總結(jié) LinkedList是實現(xiàn)了List和Deque接口的雙

    2024年02月15日
    瀏覽(16)
  • 什么是Java集合框架,它有哪些常用的集合類?

    Java集合框架是一個非常實用的工具,它可以幫助我們更方便地處理數(shù)據(jù)。在Java中,集合類是一種特殊類型的對象,它們可以存儲多個對象,并提供一些常用的操作方法,例如添加、刪除、查找等。 Java集合框架它是一組用于處理數(shù)據(jù)結(jié)構(gòu)的工具類,包括數(shù)組、列表、映射、堆

    2024年02月13日
    瀏覽(28)
  • Java集合之LinkedList源碼篇

    Java集合之LinkedList源碼篇

    ☆* o(≧▽≦)o *☆嗨~我是小奧?? ??????個人博客:小奧的博客 ??????CSDN:個人CSDN ??????Github:傳送門 ??????面經(jīng)分享(??椭黜摚簜魉烷T ??文章作者技術(shù)和水平有限,如果文中出現(xiàn)錯誤,希望大家多多指正! ?? 如果覺得內(nèi)容還不錯,歡迎點贊收藏關(guān)注喲!

    2024年01月16日
    瀏覽(19)
  • Java:ArrayList集合、LinkedList(鏈表)集合的底層原理及應(yīng)用場景

    Java:ArrayList集合、LinkedList(鏈表)集合的底層原理及應(yīng)用場景

    入隊 出隊 壓棧(push),addFirst可以替換成push,官方專門為壓棧寫了push的API 出棧(pop),removeFirst可以替換成pop,官方專門為出棧寫了pop的API

    2024年02月12日
    瀏覽(50)
  • java源碼----集合系列1----ArrayList,linkedList

    java源碼----集合系列1----ArrayList,linkedList

    底層是一個object數(shù)組 Arraylist 是java里面Collection? 標準的一個集合,其 底層是一個object數(shù)組 。當new一個空參的ArrayList的時候,會默認生成一個空數(shù)組。 Arraylist上限是 Integer.MAX_VALUE - 8(Integer.MAX_VALUE? = ?2^31-1) ; 超過上限會報內(nèi)存溢出 這里為什么是Integer.MAX_VALUE-8? ,源碼上的解

    2024年02月03日
    瀏覽(28)
  • Java集合篇之深入解析LinkedList

    Java集合篇之深入解析LinkedList

    作為ArrayList的同門師兄弟,LinkedList的師門地位遜色不少,除了在做算法題的時候我們會用到它之外,在實際的開發(fā)工作中我們極少使用它,就連它的創(chuàng)造者都說:“I wrote it,and I never use it”,想想頗有點好笑,但這并不影響我們?nèi)W(xué)習它,個人認為它底層的鏈表邏輯對于我

    2024年02月19日
    瀏覽(24)
  • Java基礎(chǔ)——LinkedList集合實現(xiàn)棧和隊列

    (1)LinkedList的特點: 底層數(shù)據(jù)結(jié)構(gòu)是雙鏈表,查詢慢,首尾操作的速度是極快的,所以多了很多首位操作的特有API。 (2)LinkedList集合的特有功能: 方法名稱 說明 public void addFirst(E e) 在該列表開頭插入指定的元素 public void addLast(E e) 將指定的元素追加到此列表的末尾 publ

    2023年04月12日
    瀏覽(15)
  • 【Java集合進階】Collection 體系集合詳解(ArrayList,LinkedList,HashSet,TreeSet...)
  • 【JavaDS】淺談集合LinkedList的使用

    【JavaDS】淺談集合LinkedList的使用

    ? 博客主頁: XIN-XIANG榮 ? 系列專欄: 【Java實現(xiàn)數(shù)據(jù)結(jié)構(gòu)】 ? 一句短話: 難在堅持,貴在堅持,成在堅持! LinkedList的底層是雙向鏈表結(jié)構(gòu),由于鏈表沒有將元素存儲在連續(xù)的空間中,元素存儲在單獨的節(jié)點中,然后通過引用將節(jié)點連接起來了,因此在在任意位置插入或者刪除元

    2024年02月22日
    瀏覽(18)
  • 【JAVA學(xué)習筆記】53 - 集合-List類及其子類Collection、ArrayList、LinkedList類

    【JAVA學(xué)習筆記】53 - 集合-List類及其子類Collection、ArrayList、LinkedList類

    https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter14/src/com/yinhai/collection_ https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter14/src/com/yinhai/list_ 目錄 項目代碼 集合 一、引入 數(shù)組 集合 二、集合的框架體系 單列集合? ? ? ? 雙列集合? ? ? ? Collection類 一、Collection類接

    2024年02月06日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包