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

淺談Java中幾個(gè)常用集合添加元素的效率

 更新時(shí)間:2017年04月27日 08:36:49   投稿:jingxian  
下面小編就為大家?guī)硪黄獪\談Java中幾個(gè)常用集合添加元素的效率。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

初始化需要進(jìn)行比較的集合,統(tǒng)一增加10萬個(gè)元素,獲取整個(gè)過程的執(zhí)行時(shí)間。

1、List集合增加元素

private static void testList() {

  List<Integer> list = new ArrayList<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開始時(shí)間
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  System.out.println("List添加元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms"); // 輸出程序運(yùn)行時(shí)間

 }

程序輸出:

List添加10萬個(gè)元素程序運(yùn)行時(shí)間為:8ms

2、Set集合增加元素

private static void testSet() {

  Set<Integer> set = new HashSet<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開始時(shí)間
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  System.out.println("Set添加10萬個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms"); // 輸出程序運(yùn)行時(shí)間

 }

程序輸出:

Set添加10萬個(gè)元素程序運(yùn)行時(shí)間為:17ms

3、LinkedList集合增加元素

private static void testLinkedList() {

  List<Integer> list = new LinkedList<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開始時(shí)間
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("LinkedList添加10萬個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");

 }

程序輸出:

LinkedList添加10萬個(gè)元素程序運(yùn)行時(shí)間為:8ms

4、TreeSet集合增加元素

private static void testTreeSet() {

  Set<Integer> set = new TreeSet<Integer>();

  long startTime = System.currentTimeMillis(); // 獲取開始時(shí)間
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("TreeSet添加10萬個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");

 }

程序輸出:

TreeSet添加10萬個(gè)元素程序運(yùn)行時(shí)間為:40ms

總結(jié):在不考慮去重和排序的情況下,以上幾個(gè)常用集合的執(zhí)行效率排序?yàn)椋篈rrayList >= LinkedList > HashSet > TreeSet

5、HashMap集合增加元素

private static void testHashMap() {

  Map<Integer, Object> hashMap = new HashMap<Integer, Object>();

  long startTime = System.currentTimeMillis(); // 獲取開始時(shí)間
  for (int i = 0; i < 100000; i++) {
   hashMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("HashMap添加10萬個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");

 }

程序輸出:

HashMap添加10萬個(gè)元素程序運(yùn)行時(shí)間為:17ms

6、TreeMap集合增加元素

private static void testTreeMap() {
  
  Map<Integer, Object> treeMap = new TreeMap<Integer, Object>();

  long startTime = System.currentTimeMillis(); // 獲取開始時(shí)間
  for (int i = 0; i < 100000; i++) {
   treeMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 獲取結(jié)束時(shí)間

  // 輸出程序運(yùn)行時(shí)間
  System.out.println("TreeMap添加10萬個(gè)元素程序運(yùn)行時(shí)間為:" + (endTime - startTime) + "ms");
 }

程序輸出:

TreeMap添加10萬個(gè)元素程序運(yùn)行時(shí)間為:40ms

總結(jié):在不考慮排序的情況下,HashMap的執(zhí)行效率高于TreeMap:HashMap > TreeMap。

以上這篇淺談Java中幾個(gè)常用集合添加元素的效率就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot使用jsr303校驗(yàn)的實(shí)現(xiàn)

    SpringBoot使用jsr303校驗(yàn)的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot使用jsr303校驗(yàn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 使用Java編寫一個(gè)簡(jiǎn)單的Web的監(jiān)控系統(tǒng)

    使用Java編寫一個(gè)簡(jiǎn)單的Web的監(jiān)控系統(tǒng)

    這篇文章主要介紹了使用Java編寫一個(gè)簡(jiǎn)單的Web的監(jiān)控系統(tǒng)的例子,并且將重要信息轉(zhuǎn)為XML通過網(wǎng)頁(yè)前端顯示,非常之實(shí)用,需要的朋友可以參考下
    2015-11-11
  • Java實(shí)現(xiàn)List轉(zhuǎn)換為Map的方法小結(jié)

    Java實(shí)現(xiàn)List轉(zhuǎn)換為Map的方法小結(jié)

    這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)List轉(zhuǎn)換為Map的一些常見的方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以參考一下
    2024-03-03
  • Spring中的ApplicationRunner接口的使用詳解

    Spring中的ApplicationRunner接口的使用詳解

    這篇文章主要介紹了Spring中的ApplicationRunner接口的使用詳解,ApplicationRunner使用起來很簡(jiǎn)單,只需要實(shí)現(xiàn)CommandLineRunner或者ApplicationRunner接口,重寫run方法就行,需要的朋友可以參考下
    2023-11-11
  • JDK的具體安裝步驟(帶圖帶解釋巨詳細(xì))

    JDK的具體安裝步驟(帶圖帶解釋巨詳細(xì))

    Java是一種廣泛使用的編程語言,許多應(yīng)用程序和系統(tǒng)都依賴于它,如果您想進(jìn)行Java編程或運(yùn)行Java應(yīng)用程序,首先需要安裝Java開發(fā)工具包(JDK),這篇文章主要給大家介紹了關(guān)于JDK具體安裝步驟的相關(guān)資料,文中介紹的方法帶圖帶解釋巨詳細(xì),需要的朋友可以參考下
    2024-05-05
  • java.io.EOFException: Unexpected end of ZLIB input stream異常解決

    java.io.EOFException: Unexpected end of 

    本文主要介紹了java.io.EOFException: Unexpected end of ZLIB input stream異常解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • java修改JFrame默認(rèn)字體方式

    java修改JFrame默認(rèn)字體方式

    這篇文章主要介紹了java修改JFrame默認(rèn)字體方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringBoot?快速實(shí)現(xiàn)?api?接口加解密功能

    SpringBoot?快速實(shí)現(xiàn)?api?接口加解密功能

    在項(xiàng)目中,為了保證數(shù)據(jù)的安全,我們常常會(huì)對(duì)傳遞的數(shù)據(jù)進(jìn)行加密,Spring?Boot接口加密,可以對(duì)返回值、參數(shù)值通過注解的方式自動(dòng)加解密,這篇文章主要介紹了SpringBoot?快速實(shí)現(xiàn)?api?接口加解密功能,感興趣的朋友一起看看吧
    2023-10-10
  • 詳解spring封裝hbase的代碼實(shí)現(xiàn)

    詳解spring封裝hbase的代碼實(shí)現(xiàn)

    本篇文章主要介紹了詳解spring封裝hbase的代碼實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringAOP如何獲取方法參數(shù)上的注解

    SpringAOP如何獲取方法參數(shù)上的注解

    這篇文章主要介紹了SpringAOP如何獲取方法參數(shù)上的注解操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08

最新評(píng)論

吉安市| 怀集县| 乐清市| 炎陵县| 仙桃市| 巴彦淖尔市| 新乐市| 和林格尔县| 南郑县| 德兴市| 长泰县| 九龙坡区| 故城县| 榆社县| 三亚市| 阳春市| 和龙市| 龙井市| 原阳县| 邮箱| 灵川县| 洛宁县| 开原市| 平舆县| 永年县| 远安县| 大厂| 望江县| 贵州省| 肃宁县| 修武县| 桂东县| 瓮安县| 沽源县| 昌江| 呼玛县| 九龙坡区| 西华县| 忻城县| 大关县| 鹤峰县|