激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java數(shù)據(jù)結(jié)構(gòu)之LinkedList的用法詳解

Java數(shù)據(jù)結(jié)構(gòu)之LinkedList的用法詳解

2023-05-09 01:05未知服務器之家 Java教程

鏈表(Linked list)是一種常見的基礎數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會按線性的順序存儲數(shù)據(jù),而是在每一個節(jié)點里存到下一個節(jié)點的地址 。鏈表可分為單向鏈表和雙向鏈表。 一個單向鏈表包含兩個值 : 當前節(jié)點的值和一個指

鏈表(Linked list)是一種常見的基礎數(shù)據(jù)結(jié)構(gòu),是一種線性表,但是并不會按線性的順序存儲數(shù)據(jù),而是在每一個節(jié)點里存到下一個節(jié)點的地址。鏈表可分為單向鏈表和雙向鏈表。

一個單向鏈表包含兩個值: 當前節(jié)點的值和一個指向下一個節(jié)點的鏈接。

Java數(shù)據(jù)結(jié)構(gòu)之LinkedList的用法詳解

創(chuàng)建一個簡單的鏈表實例:

import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        System.out.println(sites);
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// [Google, Runoob, Taobao, Weibo]

更多的情況下我們使用 ArrayList 訪問列表中的隨機元素更加高效,但以下幾種情況 LinkedList 提供了更高效的方法

在列表開頭添加元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        // 使用 addFirst() 在頭部添加元素
        sites.addFirst("Wiki");
        System.out.println(sites);
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// [Wiki, Google, Runoob, Taobao]

在列表結(jié)尾添加元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        // 使用 addLast() 在尾部添加元素
        sites.addLast("Wiki");
        System.out.println(sites);
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// [Google, Runoob, Taobao, Wiki]

在列表開頭移除元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        // 使用 removeFirst() 移除頭部元素
        sites.removeFirst();
        System.out.println(sites);
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// [Runoob, Taobao, Weibo]

在列表結(jié)尾移除元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        // 使用 removeLast() 移除尾部元素
        sites.removeLast();
        System.out.println(sites);
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// [Google, Runoob, Taobao]

獲取列表開頭的元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        // 使用 getFirst() 獲取頭部元素
        System.out.println(sites.getFirst());
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// Google

獲取列表結(jié)尾的元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        // 使用 getLast() 獲取尾部元素
        System.out.println(sites.getLast());
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// Weibo

LinkedList 迭代元素方式

可以使用 for 配合 size() 方法來迭代列表中的元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        for (int size = sites.size(), i = 0; i < size; i++) {
            System.out.println(sites.get(i));
        }
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// Google
// Runoob
// Taobao
// Weibo

也可以使用 for-each 來迭代元素:

// 引入 LinkedList 類
import java.util.LinkedList;

public class RunoobTest {
    public static void main(String[] args) {
        LinkedList<String> sites = new LinkedList<String>();
        sites.add("Google");
        sites.add("Runoob");
        sites.add("Taobao");
        sites.add("Weibo");
        for (String i : sites) {
            System.out.println(i);
        }
    }
}
// 實例執(zhí)行輸出結(jié)果為:
// Google
// Runoob
// Taobao
// Weibo

LinkedList 常用方法

方法 描述
public boolean add(E e) 鏈表末尾添加元素,返回是否成功,成功為 true,失敗為 false
public void add(int index, E element) 向指定位置插入元素
public boolean addAll(Collection c) 將一個集合的所有元素添加到鏈表后面,返回是否成功,成功為 true,失敗為 false
public boolean addAll(int index, Collection c) 將一個集合的所有元素添加到鏈表的指定位置后面,返回是否成功,成功為 true,失敗為 false
public void addFirst(E e) 元素添加到頭部
public void addLast(E e) 元素添加到尾部
public boolean offer(E e) 向鏈表末尾添加元素,返回是否成功,成功為 true,失敗為 false
public boolean offerFirst(E e) 頭部插入元素,返回是否成功,成功為 true,失敗為 false
public boolean offerLast(E e) 尾部插入元素,返回是否成功,成功為 true,失敗為 false
public void clear() 清空鏈表
public E removeFirst() 刪除并返回第一個元素
public E removeLast() 刪除并返回最后一個元素
public boolean remove(Object o) 刪除某一元素,返回是否成功,成功為 true,失敗為 false
public E remove(int index) 刪除指定位置的元素
public E poll() 刪除并返回第一個元素
public E remove() 刪除并返回第一個元素
public boolean contains(Object o) 判斷是否含有某一元素
public E get(int index) 返回指定位置的元素
public E getFirst() 返回第一個元素
public E getLast() 返回最后一個元素
public int indexOf(Object o) 查找指定元素從前往后第一次出現(xiàn)的索引
public int lastIndexOf(Object o) 查找指定元素最后一次出現(xiàn)的索引
public E peek() 返回第一個元素
public E element() 返回第一個元素
public E peekFirst() 返回頭部元素
public E peekLast() 返回尾部元素
public E set(int index, E element) 設置指定位置的元素
public Object clone() 克隆該列表
public Iterator descendingIterator() 返回倒序迭代器
public int size() 返回鏈表元素個數(shù)
public ListIterator listIterator(int index) 返回從指定位置開始到末尾的迭代器
public Object[] toArray() 返回一個由鏈表元素組成的數(shù)組
public T[] toArray(T[] a) 返回一個由鏈表元素轉(zhuǎn)換類型而成的數(shù)組

以上就是Java數(shù)據(jù)結(jié)構(gòu)之LinkedList的用法詳解的詳細內(nèi)容,更多關(guān)于Java數(shù)據(jù)結(jié)構(gòu)LinkedList的資料請關(guān)注其它相關(guān)文章!

原文地址:https://juejin.cn/post/7230323015783546938

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 自偷自偷久产久精九国品在线 | 久久久成人免费视频 | 国产精品剧情一区二区在线观看 | 思思久而久而蕉人 | 538任你躁在线精品视频网站 | 成人免费看视频 | 色999国产 | 极品国产91在线网站 | 成人性爱视频在线观看 | 欧美日韩在线播放 | 欧美激情999 | 亚洲第一视频在线 | 成人区精品一区二区婷婷 | 国产一区二区不卡视频 | 欧美日韩在线播放 | 狠狠色成色综合网 | 538任你躁在线精品视频网站 | 撅高 自己扒开 调教 | 欧美人与性禽动交精品 | 久久999久久 | 亚洲国产在 | 久草在线高清 | 久久超 | 性欧美视频在线观看 | julieann艳星激情办公室 | www久久综合 | 成人免费精品视频 | 日韩在线观看中文字幕 | 天天操天天操天天操天天操天天操天天操 | 欧美成人三级视频 | 国产精品欧美久久久久一区二区 | 九九精品视频观看 | 免费毛片在线视频 | 欧美高清在线精品一区二区不卡 | 亚欧在线免费观看 | 欧美一区二区黄色片 | 免费放黄网站在线播放 | 中文字幕精品一二三四五六七八 | 91九色视频观看 | 日韩黄色精品视频 | 在线日韩av电影 |