最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中LinkedList和ArrayList的效率分析

 更新時間:2023年02月10日 09:46:46   作者:柳落青  
本文主要介紹了Java中LinkedList和ArrayList的效率分析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

在 Java 中,LinkedList 和 ArrayList 的性能是不同的,具體取決于你所需要的操作。

對于頻繁的插入和刪除操作,LinkedList 的性能通常更好,因為它使用了鏈表數(shù)據(jù)結構,只需更改節(jié)點的指針就可以在鏈表中插入或刪除元素。

然而,如果你需要頻繁的隨機訪問操作,ArrayList 的性能更快,因為它使用了數(shù)組數(shù)據(jù)結構,可以通過索引訪問任何元素。

下面是一個代碼案例,展示了在 Java 中使用 LinkedList 和 ArrayList 進行插入和刪除操作的時間差異。

package com.example.springbootpf4jservice;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;

public class ListPerformanceTest {
    public static void main(String[] args) {
        List<Integer> arrayList = new ArrayList<>();
        List<Integer> linkedList = new LinkedList<>();
        Random rand = new Random();

        // 用隨機整數(shù)填充列表。
        for (int i = 0; i < 100000; i++) {
            int num = rand.nextInt();
            arrayList.add(num);
            linkedList.add(num);
        }

        // 測量在每個列表的開頭插入元素所需的時間。
        long startTime = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            arrayList.add(0, rand.nextInt());
        }
        long endTime = System.currentTimeMillis();
        System.out.println("ArrayList insert time: " + (endTime - startTime) + "ms");

        startTime = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            linkedList.add(0, rand.nextInt());
        }
        endTime = System.currentTimeMillis();
        System.out.println("LinkedList insert time: " + (endTime - startTime) + "ms");

    }
}

測試結果:

第一次:

第二次:

第三次:

到此這篇關于Java中LinkedList和ArrayList的效率分析的文章就介紹到這了,更多相關Java LinkedList和ArrayList的效率內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • @TransactionalEventListener的使用和實現(xiàn)原理分析

    @TransactionalEventListener的使用和實現(xiàn)原理分析

    這篇文章主要介紹了@TransactionalEventListener的使用和實現(xiàn)原理分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java中for、foreach、stream區(qū)別和性能比較詳解

    Java中for、foreach、stream區(qū)別和性能比較詳解

    for、foreach、stream都可以循環(huán)處理數(shù)據(jù),如果單純當循環(huán)使用,for、foreach、stream哪個性能更好,這篇文章主要給大家介紹了關于Java中for、foreach、stream區(qū)別和性能的相關資料,需要的朋友可以參考下
    2024-03-03
  • Java實現(xiàn)AES算法的實例代碼

    Java實現(xiàn)AES算法的實例代碼

    高級加密標準(AES,Advanced?Encryption?Standard)為最常見的對稱加密算法(微信小程序加密傳輸就是用這個加密算法的),本文重點給大家介紹Java實現(xiàn)AES算法的實例代碼,感興趣的朋友一起看看吧
    2022-02-02
  • 深入了解SparkSQL的運用及方法

    深入了解SparkSQL的運用及方法

    SparkSQL就是將SQL轉換成一個任務,提交到集群上運行,類似于Hive的執(zhí)行方式。本文給大家分享了SparkSQl的運用及方法,感興趣的朋友跟隨小編一起看看吧
    2022-03-03
  • RestTemplate發(fā)送HTTP?POST請求使用方法詳解

    RestTemplate發(fā)送HTTP?POST請求使用方法詳解

    這篇文章主要為大家介紹了RestTemplate發(fā)送HTTP?POST請求的使用方法詳解,有需要的朋友可以借鑒參考下希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Java Objects工具類原理及用法詳解

    Java Objects工具類原理及用法詳解

    這篇文章主要介紹了Java Objects工具類原理及用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 混亂的Java日志體系及集成jar包梳理分析

    混亂的Java日志體系及集成jar包梳理分析

    這篇文章主要詳細的為大家梳理分析了剪不斷理還亂的Java日志體系,以及日志系統(tǒng)涉及到的繁雜的各種集成?jar?包,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • SpringBoot 配合 SpringSecurity 實現(xiàn)自動登錄功能的代碼

    SpringBoot 配合 SpringSecurity 實現(xiàn)自動登錄功能的代碼

    這篇文章主要介紹了SpringBoot 配合 SpringSecurity 實現(xiàn)自動登錄功能的代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Java簡單工廠和工廠方法模式詳細解析

    Java簡單工廠和工廠方法模式詳細解析

    這篇文章主要介紹了Java簡單工廠和工廠方法模式詳細解析,簡單工廠模式屬于類的創(chuàng)新型模式,又叫靜態(tài)工廠方法模式是通過專門定義一個類來負責創(chuàng)建其他類的實例,被創(chuàng)建的實例通常都具有共同的父類,需要的朋友可以參考下
    2023-12-12
  • SpringBoot定時任務設計之時間輪案例原理詳解

    SpringBoot定時任務設計之時間輪案例原理詳解

    這篇文章主要為大家介紹了SpringBoot定時任務設計之時間輪案例原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10

最新評論

农安县| 沈丘县| 津南区| 保靖县| 左权县| 鄂托克前旗| 彰化县| 亚东县| 通榆县| 亚东县| 朔州市| 宜良县| 周宁县| 班玛县| 西峡县| 无极县| 绥德县| 济阳县| 秦皇岛市| 元朗区| 翁源县| 杂多县| 精河县| 婺源县| 会理县| 延长县| 疏附县| 元氏县| 沐川县| 咸丰县| 会泽县| 安泽县| 大连市| 达尔| 五寨县| 嫩江县| 磐石市| 阿图什市| 长泰县| 巩留县| 开鲁县|