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

比較Java數(shù)組和各種List的性能小結(jié)

 更新時間:2016年08月28日 08:45:10   投稿:daisy  
這篇文章主要是分別對Java數(shù)組、ArrayList、LinkedList和Vector進行隨機訪問和迭代等操作,并比較這種集合的性能。有需要的可以參考借鑒。

話不多說,直接看示例代碼

package cn.lion.test;
public class PerformanceTest {
   
   privatestatic final int SIZE =100000;
   publicstatic abstract class Test{
     privateString operation;
     publicTest(String operation){
       this.operation= operation;
     }
     publicabstract void test(List<String> list);
     publicString getOperation(){
       returnoperation;
     }
   }
   //執(zhí)行迭代操作的匿名類
   staticTest iterateTest = new Test("iterate"){
     publicvoid test(List<String> list){
       for(inti=0; i<10; i++){
          Iterator<String>it = list.iterator();
          while(it.hasNext()){
            it.next();
          }
       }
     }
   };
   //執(zhí)行隨機訪問的匿名類
   staticTest getTest = new Test("get"){
     publicvoid test(List<String> list){
       for(inti=0; i<list.size(); i++){
          for(intk=0; k<10; k++){
            list.get(k);
          }
       }
     }
   };
   //執(zhí)行插入的匿名類
   staticTest insertTest = new Test("insert"){
     publicvoid test(List<String> list){
       ListIterator<String>it = list.listIterator(list.size()/2);
       for(inti=0; i<SIZE; i++){
          it.add("lion");
       }
     }
   };
   //執(zhí)行刪除的匿名類
   staticTest removeTest = new Test("remove"){
     publicvoid test(List<String> list){
       ListIterator<String>it = list.listIterator();
       while(it.hasNext()){
          it.next();
          it.remove();
       }
     }
   };
   staticpublic void testArray(List<String> list){
     Test[]tests = {iterateTest, getTest};
     test(tests,list);
   }
   staticpublic void testList(List<String> list){
     Test[]tests = {insertTest, iterateTest, getTest, removeTest};
     test(tests,list);
   }
   staticpublic void test(Test[] tests, List<String> list){
     for(inti=0; i<tests.length; i++){
       System.out.print(tests[i].getOperation()+ "操作:");
       longt1 = System.currentTimeMillis();
       tests[i].test(list);
       longt2 = System.currentTimeMillis();
       System.out.print(t2-t1+ "ms");
       System.out.println();
     }
   }
   publicstatic void main(String[] args){
     
     List<String>list = null;
     //測試數(shù)組的迭代和隨機訪問操作
     System.out.println("------測試數(shù)組------");
     String[]tstr = new String[SIZE];
     Arrays.fill(tstr,"lion");
     list= Arrays.asList(tstr);
     testArray(list);
     
     tstr= new String[SIZE/2];
     Collection<String>coll = Arrays.asList(tstr);
     
     //測試Vector
     System.out.println("------測試Vector------");
     list= new Vector<String>();
     list.addAll(coll);
     testList(list);
     
     //測試LinkedList
     System.out.println("------測試LinkedList------");
     list= new LinkedList<String>();
     list.addAll(coll);
     testList(list);
     
     //測試ArrayList
     System.out.println("------測試Vector------");
     list= new ArrayList<String>();
     list.addAll(coll);
     testList(list);
   }
}

運行結(jié)果如圖

從結(jié)果可以看出,對數(shù)組進行隨機訪問和迭代操作的速度是最快的;對LinkedList進行插入和刪除操作的速度是最快的;對ArrayList進行隨機訪問的速度也很快;Vector類在各方面沒有突出的性能,且此類已不提倡使用了。

總結(jié)

以上就是本文的全部內(nèi)容,希望對大家學習或者使用Java能有所幫助。如果有疑問可以留言討論。

相關(guān)文章

  • java URL亂碼的解決辦法

    java URL亂碼的解決辦法

    這篇文章介紹了java URL亂碼的解決辦法,有需要的朋友可以參考一下
    2013-09-09
  • SpringBoot實現(xiàn)異步消息處理的代碼示例

    SpringBoot實現(xiàn)異步消息處理的代碼示例

    在現(xiàn)代應(yīng)用程序中,異步消息處理是一項至關(guān)重要的任務(wù)。它可以提高應(yīng)用程序的性能、可伸縮性和可靠性,同時也可以提供更好的用戶體驗,本文將介紹如何使用Spring Boot實現(xiàn)異步消息處理,并提供相應(yīng)的代碼示例
    2023-06-06
  • Java基本類型和包裝類型的區(qū)別

    Java基本類型和包裝類型的區(qū)別

    這篇文章主要介紹了Java基本類型和包裝類型的區(qū)別,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-09-09
  • java配置dbcp連接池(數(shù)據(jù)庫連接池)示例分享

    java配置dbcp連接池(數(shù)據(jù)庫連接池)示例分享

    java配置dbcp連接池示例分享,大家參考使用吧
    2013-12-12
  • 詳解@ConditionalOnMissingBean注解的作用

    詳解@ConditionalOnMissingBean注解的作用

    這篇文章主要介紹了詳解@ConditionalOnMissingBean注解的作用,@ConditionalOnMissingBean,它是修飾bean的一個注解,主要實現(xiàn)的是,當你的bean被注冊之后,如果而注冊相同類型的bean,就不會成功,它會保證你的bean只有一個,需要的朋友可以參考下
    2023-10-10
  • Java使用Sftp和Ftp實現(xiàn)對文件的上傳和下載

    Java使用Sftp和Ftp實現(xiàn)對文件的上傳和下載

    這篇文章主要介紹了Java使用Sftp和Ftp實現(xiàn)對文件的上傳和下載,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • 基于java查找并打印輸出字符串中字符出現(xiàn)次數(shù)

    基于java查找并打印輸出字符串中字符出現(xiàn)次數(shù)

    這篇文章主要介紹了基于java查找并打印輸出字符串中字符出現(xiàn)次數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Java中生成隨機數(shù)的實現(xiàn)方法總結(jié)

    Java中生成隨機數(shù)的實現(xiàn)方法總結(jié)

    這篇文章主要介紹了Java中生成隨機數(shù)的實現(xiàn)方法總結(jié),其中多線程并發(fā)的實現(xiàn)方式尤為exciting,需要的朋友可以參考下
    2015-11-11
  • 深入理解Spring事務(wù)的傳播行為

    深入理解Spring事務(wù)的傳播行為

    Spring在TransactionDefinition接口中規(guī)定了7種類型的事務(wù)傳播行為。下面這篇文章主要給大家介紹了關(guān)于Spring事務(wù)傳播行為的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • 關(guān)于java String中intern的深入講解

    關(guān)于java String中intern的深入講解

    這篇文章主要給大家介紹了關(guān)于java String中intern的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-04-04

最新評論

西乌珠穆沁旗| 大渡口区| 综艺| 吴江市| 元谋县| 黔南| 定安县| 轮台县| 高雄市| 台东县| 屏南县| 曲麻莱县| 高唐县| 吉安县| 兴和县| 太白县| 洪江市| 金平| 定襄县| 通渭县| 胶南市| 旅游| 桃园市| 新余市| 洛川县| 突泉县| 石林| 龙井市| 白玉县| 通渭县| 长泰县| 浏阳市| 龙陵县| 佛冈县| 仙桃市| 邻水| 墨竹工卡县| 阜城县| 两当县| 信宜市| 浮梁县|