激情久久久_欧美视频区_成人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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日产精品一区二区三区在线观看 | 国产xxxx免费 | 羞羞视频在线免费 | av电影网站在线观看 | 91资源在线观看 | 双性精h调教灌尿打屁股的文案 | 国产午夜精品一区二区三区不卡 | 久久久久九九九女人毛片 | 天海翼无删减av三级在线观看 | 麻豆视频在线观看 | 最新中文字幕第一页视频 | 久久久久久久一区 | 久久精品视频日本 | 国产 一区 精品 | 深夜免费视频 | 美女在线观看视频一区二区 | 久久久久北条麻妃免费看 | 亚洲黑人在线观看 | 综合日韩av| 欧美a级在线免费观看 | 日韩视频高清 | 精品一区二区在线视频 | 91久久国产露脸精品免费 | 精品一区二区免费视频视频 | 黄色大片www| 欧美成人精品欧美一级乱黄 | 国产亚洲精品yxsp | 亚洲成人精品视频 | 欧美黄色免费视频 | 成人小视频在线播放 | 国产免费乱淫av | 可以看毛片的网址 | 国产1区2区3区中文字幕 | 久久久成人精品视频 | 国产女同玩人妖 | 国产超碰人人爽人人做人人爱 | 欧美一级色片 | 羞羞电影在线观看 | 日韩色视频在线观看 | 欧美成人三级大全 | 毛片免费观看视频 |