持有对象---Arrays.asList()和Collections.addAll()的性能比较

Posted alagong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了持有对象---Arrays.asList()和Collections.addAll()的性能比较相关的知识,希望对你有一定的参考价值。

    • import java.util.ArrayList; 
      import java.util.Arrays; 
      import java.util.Collections; 
      import java.util.List; 
      public class ArraysCompareCollectionsTest { 
      public static void main(String[] args) { 
      int count = 10000000;//通过改变循环次数来放大或放小结果 
      System.out.println("Arrays‘s time is " + arraysTest(count)); 
      System.out.println("Collections‘s time is " + collectionsTest(count)); 

      public static long arraysTest(int count) { 
      long startTime = System.currentTimeMillis(); 
      for (int i = 0; i < count; i++) { 
      List arrays = new ArrayList (); 
      arrays.addAll(Arrays.asList("hello", "java", "world")); 

      return System.currentTimeMillis() - startTime; 
      }public static long collectionsTest(int count) { 
      long startTime = System.currentTimeMillis(); 
      for (int i = 0; i < count; i++) { 
      List arrays = new ArrayList (); 
      Collections.addAll(arrays,"hello", "java", "world"); 

      return System.currentTimeMillis() - startTime; 


      二、控制台输出结果分析


      1.当count=100000时,Collections的运行速度比Arrays的要快60ms左右


      2.当count=1000000时,Collections的运行速度比Arrays的要快100ms左右


      3.当count=10000000时,Collections的运行速度比Arrays的要快更多

    •  






























以上是关于持有对象---Arrays.asList()和Collections.addAll()的性能比较的主要内容,如果未能解决你的问题,请参考以下文章

持有对象(集合)

ThinkingInJava----第11章 持有对象

Arrays.asList()

Arrays.asList的用法

Java Arrays.asList() 的避雷

为什么Java里的Arrays.asList不能用add和remove方法?