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

Java ArrayList 與 LinkedList 的靈活選擇

這篇具有很好參考價(jià)值的文章主要介紹了Java ArrayList 與 LinkedList 的靈活選擇。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Java ArrayList

Java ArrayList 類(lèi)是一個(gè)可變大小的數(shù)組,位于 java.util 包中。

創(chuàng)建 ArrayList

import java.util.ArrayList;

ArrayList<String> cars = new ArrayList<String>(); // 創(chuàng)建一個(gè) ArrayList 對(duì)象

添加元素

cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");

訪問(wèn)元素

cars.get(0); // 獲取第一個(gè)元素

修改元素

cars.set(0, "Opel"); // 修改第一個(gè)元素

刪除元素

cars.remove(0); // 刪除第一個(gè)元素
cars.clear(); // 刪除所有元素

ArrayList 大小

cars.size(); // 獲取 ArrayList 大小

循環(huán)遍歷 ArrayList

for 循環(huán):

for (int i = 0; i < cars.size(); i++) {
  System.out.println(cars.get(i));
}

for-each 循環(huán):

for (String car : cars) {
  System.out.println(car);
}

使用其他類(lèi)型

ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);

對(duì) ArrayList 進(jìn)行排序

import java.util.Collections;

Collections.sort(cars); // 對(duì)字符串的 ArrayList 進(jìn)行排序
Collections.sort(myNumbers); // 對(duì)整數(shù)的 ArrayList 進(jìn)行排序

ArrayList 是 Java 中常用的數(shù)據(jù)結(jié)構(gòu),它可以存儲(chǔ)各種類(lèi)型的數(shù)據(jù),并且可以根據(jù)需要調(diào)整大小。

ArrayList 的優(yōu)勢(shì):

  • 可變大小
  • 可以存儲(chǔ)各種類(lèi)型的數(shù)據(jù)
  • 提供多種方法來(lái)訪問(wèn)、修改和刪除元素
  • 可以使用 Collections 類(lèi)進(jìn)行排序

ArrayList 的劣勢(shì):

  • 速度比數(shù)組慢
  • 可能會(huì)浪費(fèi)內(nèi)存空間

建議:

  • 當(dāng)需要存儲(chǔ)可變大小的數(shù)據(jù)集合時(shí),使用 ArrayList。
  • 當(dāng)需要快速訪問(wèn)數(shù)據(jù)時(shí),使用數(shù)組。
  • 當(dāng)需要存儲(chǔ)大量數(shù)據(jù)時(shí),考慮使用其他數(shù)據(jù)結(jié)構(gòu),例如 HashMap。

Java LinkedList

LinkedList 類(lèi)與 ArrayList 類(lèi)相似,但它們之間也有一些重要的區(qū)別。

創(chuàng)建 LinkedList

// 導(dǎo)入 LinkedList 類(lèi)
import java.util.LinkedList;

public class Main {
    public static void main(String[] args) {
        LinkedList<String> cars = new LinkedList<>();
        cars.add("Volvo");
        cars.add("BMW");
        cars.add("Ford");
        cars.add("Mazda");
        System.out.println(cars);
    }
}

ArrayList 與 LinkedList

相同點(diǎn):

  • 它們都實(shí)現(xiàn)了 List 接口,因此它們具有相同的方法。
  • 它們都可用于存儲(chǔ)各種類(lèi)型的數(shù)據(jù)。
  • 它們都允許您添加、刪除和修改元素。

不同點(diǎn):

  • ArrayList 使用數(shù)組存儲(chǔ)數(shù)據(jù),而 LinkedList 使用鏈表存儲(chǔ)數(shù)據(jù)。
  • ArrayList 通常更快,因?yàn)樗梢灾苯釉L問(wèn)元素。
  • LinkedList 更靈活,因?yàn)樗梢愿p松地插入和刪除元素。

何時(shí)使用:

  • 如果您需要快速訪問(wèn)列表中的隨機(jī)元素,請(qǐng)使用 ArrayList
  • 如果您需要經(jīng)常插入和刪除元素,請(qǐng)使用 LinkedList。

LinkedList 方法

LinkedList 提供了一些 ArrayList 沒(méi)有的方法,這些方法可以更有效地執(zhí)行某些操作:

方法 描述
addFirst() 將元素添加到列表的開(kāi)頭。
addLast() 在列表的末尾添加元素。
removeFirst() 從列表的開(kāi)頭刪除元素。
removeLast() 從列表的末尾刪除元素。
getFirst() 獲取列表開(kāi)頭的元素。
getLast() 獲取列表末尾的元素。

示例

// 添加元素到列表的開(kāi)頭
cars.addFirst("Toyota");

// 添加元素到列表的末尾
cars.addLast("Mercedes");

// 刪除列表開(kāi)頭的元素
cars.removeFirst();

// 刪除列表末尾的元素
cars.removeLast();

// 獲取列表開(kāi)頭的元素
String firstCar = cars.getFirst();

// 獲取列表末尾的元素
String lastCar = cars.getLast();

LinkedList 是一種靈活的數(shù)據(jù)結(jié)構(gòu),可以有效地執(zhí)行某些操作。如果您需要經(jīng)常插入和刪除元素,LinkedList 是一個(gè)不錯(cuò)的選擇。

最后

為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章:

微信公眾號(hào)搜索:Let us Coding,關(guān)注后即可獲取最新文章推送

看完如果覺(jué)得有幫助,歡迎 點(diǎn)贊、收藏、關(guān)注文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-837908.html

到了這里,關(guān)于Java ArrayList 與 LinkedList 的靈活選擇的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • java面試基礎(chǔ) -- ArrayList 和 LinkedList有什么區(qū)別

    java面試基礎(chǔ) -- ArrayList 和 LinkedList有什么區(qū)別

    目錄 基本介紹 有什么不同?? ArrayList的擴(kuò)容機(jī)制 ArrayLIst的基本使用 ArrayList和Vector 還記得我們的java集合框架嗎, 我們來(lái)復(fù)習(xí)一下, 如圖: ? ? ? ? ?可以看出來(lái) ArrayList和LinkedList 都是具體類(lèi), 他們都是接口List的實(shí)現(xiàn)類(lèi). 但是他們底層的邏輯是不同的, 相信學(xué)過(guò)這個(gè)的應(yīng)該大概有個(gè)

    2024年02月12日
    瀏覽(25)
  • [java數(shù)據(jù)結(jié)構(gòu)] ArrayList和LinkedList介紹與使用

    [java數(shù)據(jù)結(jié)構(gòu)] ArrayList和LinkedList介紹與使用

    (一) 線性表 (二) ArrayList 1. ArrayList的介紹 2. ArrayList的常見(jiàn)方法和使用 3. ArrayList的遍歷 4. ArrayList的模擬實(shí)現(xiàn) 5. ArrayList的優(yōu)缺點(diǎn) (三)?LinkedList 1. LinkedList的介紹 2. LinkedList的常見(jiàn)方法和使用 3. LinkedList的遍歷 4. LinkedList的模擬實(shí)現(xiàn) 5. LinkedList的優(yōu)缺點(diǎn) (四) ArrayList和LinkedList的區(qū)別

    2024年01月21日
    瀏覽(17)
  • java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——ArrayList和LinkedList區(qū)別

    java八股文面試[數(shù)據(jù)結(jié)構(gòu)]——ArrayList和LinkedList區(qū)別

    ? ArrayList和LinkedList的異同 二者的線程都不安全,相對(duì)線程安全的Vector,執(zhí)行效率高。此外,ArrayList時(shí)實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu),LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu),對(duì)于隨機(jī)訪問(wèn)get和set,ArrayList覺(jué)得優(yōu)于LinkedList比較占優(yōu)勢(shì),因?yàn)長(zhǎng)inledList要移動(dòng)指針。對(duì)于新增和刪除操作add

    2024年02月11日
    瀏覽(25)
  • Java:ArrayList集合、LinkedList(鏈表)集合的底層原理及應(yīng)用場(chǎng)景

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

    入隊(duì) 出隊(duì) 壓棧(push),addFirst可以替換成push,官方專(zhuān)門(mén)為壓棧寫(xiě)了push的API 出棧(pop),removeFirst可以替換成pop,官方專(zhuān)門(mén)為出棧寫(xiě)了pop的API

    2024年02月12日
    瀏覽(50)
  • java 數(shù)據(jù)結(jié)構(gòu) ArrayList源碼底層 LinkedList 底層源碼 迭代器底層

    java 數(shù)據(jù)結(jié)構(gòu) ArrayList源碼底層 LinkedList 底層源碼 迭代器底層

    對(duì)于數(shù)據(jù)結(jié)構(gòu)我這邊只告訴你右邊框框里的 棧的特點(diǎn):后進(jìn)先出,先進(jìn)后出,入棧也成為壓棧,出棧也成為彈棧 棧就像一個(gè)彈夾 隊(duì)列先進(jìn)先出后進(jìn)后出 隊(duì)列像排隊(duì) 鏈表查詢滿 但是增刪快(相對(duì)于數(shù)組而言) 拓展:還有一個(gè)雙向鏈表 他在查詢?cè)氐臅r(shí)候更快些,因?yàn)樗谀玫揭粋€(gè)元素

    2024年02月05日
    瀏覽(25)
  • 【Java集合進(jìn)階】Collection 體系集合詳解(ArrayList,LinkedList,HashSet,TreeSet...)
  • Java中創(chuàng)建List接口、ArrayList類(lèi)和LinkedList類(lèi)的常用方法(一)

    Java中創(chuàng)建List接口、ArrayList類(lèi)和LinkedList類(lèi)的常用方法(一)

    要了解List接口,就不得不說(shuō)起Java的集合框架。 (該圖來(lái)自菜鳥(niǎo)教程) Java 集合框架主要包括兩種類(lèi)型的容器,集合Collection和圖Map。 Collection接口代表了 單列集合 ,它包含了一組Object元素,每個(gè)元素都有一個(gè)值。 (這里有個(gè)“泛型擦除”的概念,在此不提及有興趣可自行了

    2024年01月19日
    瀏覽(24)
  • Java中List接口兩個(gè)實(shí)現(xiàn),ArrayList類(lèi)和LinkedList類(lèi)的常用方法(一)

    Java中List接口兩個(gè)實(shí)現(xiàn),ArrayList類(lèi)和LinkedList類(lèi)的常用方法(一)

    要了解List接口,就不得不說(shuō)起Java的集合框架。 (該圖來(lái)自菜鳥(niǎo)教程) Java 集合框架主要包括兩種類(lèi)型的容器,集合Collection和圖Map。 Collection接口代表了 單列集合 ,它包含了一組Object元素,每個(gè)元素都有一個(gè)值。 (這里有個(gè)“泛型擦除”的概念,在此不提及有興趣可自行了

    2024年01月19日
    瀏覽(31)
  • 【JAVA語(yǔ)言-第15話】集合框架(二)——List、ArrayList、LinkedList、Vector集合

    【JAVA語(yǔ)言-第15話】集合框架(二)——List、ArrayList、LinkedList、Vector集合

    目錄 List集合 1.1?概述 1.2 特點(diǎn) 1.3 常用方法 1.4?ArrayList集合 1.4.1 概述? 1.4.2 練習(xí) 1.5 LinkedList集合? 1.5.1 概述 1.5.2 特點(diǎn) 1.5.3 常用方法 1.5.4 練習(xí) 1.6?Vector類(lèi) 1.6.1 概述 1.6.2 練習(xí) 1.7 List實(shí)現(xiàn)類(lèi)的異同點(diǎn) ????????java.util.List: List是一個(gè)接口,它繼承自Collection接口。 常用的實(shí)現(xiàn)

    2024年01月25日
    瀏覽(22)
  • 【JAVA學(xué)習(xí)筆記】53 - 集合-List類(lèi)及其子類(lèi)Collection、ArrayList、LinkedList類(lèi)

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

    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_ 目錄 項(xiàng)目代碼 集合 一、引入 數(shù)組 集合 二、集合的框架體系 單列集合? ? ? ? 雙列集合? ? ? ? Collection類(lèi) 一、Collection類(lèi)接

    2024年02月06日
    瀏覽(31)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包