日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java 集合中的方法性能分析

發布時間:2025/6/17 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java 集合中的方法性能分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、List集合
    • 1.1、Collection 中 get() 和 remove()方法的效率
      • 示例一
      • 示例二
  • 總結


前言

??????暫無
??????
??????
??????
??????

一、List集合

1.1、Collection 中 get() 和 remove()方法的效率

示例一

public static int sum(List<Integer> ls){int total=0;for(int i=0;i<ls.size();i++){total+=ls.get(i);}return total;}

??????上面這個求一個 List 的所有元素和的代碼,在 ArrayList 中的時間復雜度為 O(n),在 LinkedList 中的時間復雜度為 O(n2)。

??????區別在于 get() 方法,它在 ArrayList 中的為常數時間,在 LinkedList 中為線性時間。當然 remove() 方法也是一樣的。但是采用迭代器來實現的話,上面代碼的運行時間不管是 ArrayList 還是 LinkedList ,都是線性時間 O(n)。

??????contains() 方法在這二者中均為線性時間。

示例二

??????刪除一個表中的所有偶數元素。
.
??????可能的想法是:創建一個新的只包含舊表中奇數元素的表,刪除舊表中元素,再將新表拷貝過去即可。

??????如果不采用這種創建新表的話,比如采用 remove() 方法的話,見代碼1:

public static void removeEvens(List<Integer> ls){int i=0;while(i<ls.size()){if(ls.get(i)%2==0)ls.remove(i);else++i;}}

??????代碼1在 ArrayList 上由于 remove() 的原因(數組移動花費線性時間),它花費二次時間。而 LinkedLIst 由于 get() 和 remove() 的原因(元素搜索花費線性時間),所以它也花費二次時間。

??????采用迭代器來實現,見代碼2

public static void removeEvens(List<Integer> ls){Iterator it=ls.iterator();while(it.hasNext()){int tmp=(int)it.next();if(tmp%2==0)it.remove();}}

??????用迭代器的話有什么不同呢?對于 ArrayList 而言,迭代器的 remove() 仍然花費線性時間,因為數組需要移動,而整個程序仍然花費二次時間;但是對于 LinkedList 而言,迭代器的 remove() 花費常數時間,因為該迭代器總是位于需要被刪除的節點(或者在其附近),所以整個程序僅花費線性時間,而不是二次時間。

??????需要說明的是 ListIterator 接口中的 add(Object o) 方法和 remove() 方法類似,在 LinkedList 中花費常數時間。

??????自定義的 ArrayList 和 LinkedList 參見博客:https://blog.csdn.net/Little_ant_/article/details/121637930 通過其中的細節可以體會上面所說這幾個方法的效率。

??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????
??????


總結

??????未完~

總結

以上是生活随笔為你收集整理的Java 集合中的方法性能分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美a√在线 | 日本性久久 | 国模私拍xvideos私拍 | 亚洲精品少妇一区二区 | 国产欧美精品aaaaaa片 | 国产100页| 欧美九九九 | 熊猫电影yy8y全部免费观看 | 91高跟黑色丝袜呻吟动态图 | 国产一级一级 | 久久中文字幕一区 | 极品探花在线观看 | 亚洲国产日韩在线一区 | 欧美日韩国产色 | 久久久久中文 | 国产电影免费观看高清完整版视频 | 99资源| 欧美精品在线观看 | 啪啪网站免费看 | 精品无码av一区二区三区不卡 | 亚洲字幕成人中文在线观看 | 538精品一线 | 自拍毛片 | 日韩黄色免费 | 日本一区电影 | 日韩精品免费在线 | 欧洲熟妇精品视频 | 椎名空在线播放 | 亚洲激情自拍 | 天堂在线91 | 四虎影院在线免费播放 | 国精产品一区一区三区有限公司杨 | 色网站在线播放 | 国产精品--色哟哟 | 99re6在线观看 | 成年人av网站 | 欧美精品久久久久a | 欧美日韩一卡二卡三卡 | 777欧美| 国产精品无码永久免费不卡 | 中文无码日韩欧 | 看毛片视频 | 久久精品亚洲天堂 | 日韩欧美在线观看一区 | 日本福利一区二区 | 久久综合久久综合久久综合 | 91免费视 | 性色一区二区三区 | 国产在线观看精品 | 成人六区 | 曰韩在线| 少妇日b | 国产黄a三级三级三级 | av桃色| 久久久久久午夜 | 国产二区av| 在线视频免费观看你懂的 | 欧美熟妇精品久久久久久 | 狠狠操在线观看 | 亚洲熟女综合一区二区三区 | 久青草视频在线观看 | 精品人妻一区二区三区麻豆91 | 精品日韩在线播放 | 操穴网站| 粉嫩一区二区三区 | 欧美一区二区三区激情 | 网友自拍咪咪爱 | 亚洲一区二区精品视频 | 男女啪啪无遮挡 | 成人拍拍视频 | 2018天天干天天操 | 欧美三日本三级少妇三 | 欧美激情视频一区二区三区 | 黄色片久久久 | 国产精品永久久久久久久久久 | 免费在线 | 老子午夜影院 | 99久久精品免费视频 | 亚洲国产日韩一区无码精品久久久 | 美国黄色片网站 | 91蜜桃视频| 免费看日韩毛片 | 欧美激情一区二区三区免费观看 | 国产一区h| 久久久精品久久 | 能在线观看的av网站 | 九色porny自拍视频 | 久久久av免费 | 亚洲 在线| 久久中文网| 国产女厕一区二区三区在线视 | 亚洲美女自拍视频 | 色综合欧美 | 青青草原综合久久大伊人精品 | av资源共享 | 久久精品久久久久久久 | av二区在线| 无码内射中文字幕岛国片 | 国产精品日韩精品欧美精品 |