Home  >  Article  >  Java  >  Briefly describe the efficiency of adding elements to six collections

Briefly describe the efficiency of adding elements to six collections

Y2J
Y2JOriginal
2017-05-08 15:42:351370browse

The following editor will bring you a brief discussion on the efficiency of adding elements to several commonly used collections in Java. The editor thinks it’s pretty good, so I’ll share it with you now and give it as a reference. Let’s follow the editor to take a look.

Initialize the collection that needs to be compared, add 100,000 elements uniformly, and obtain the execution time of the entire process.

1. Add elements to List collection

private static void testList() {

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

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  System.out.println("List添加元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间

 }

Program output:

Add 100,000 elements to List The running time of the program for each element is: 8ms

2. Adding elements to the Set collection

private static void testSet() {

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

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  System.out.println("Set添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms"); // 输出程序运行时间

 }

Program output:

Set adding The running time of the program with 100,000 elements is: 17ms

3. Adding elements to the LinkedList collection

private static void testLinkedList() {

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

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   list.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("LinkedList添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");

 }

Program output:

LinkedList adds 100,000 elements. The running time of the program is: 8ms

4. Adding elements to TreeSet collection

private static void testTreeSet() {

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

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {

   set.add(i);

  }
  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("TreeSet添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");

 }

Program output:

TreeSet adds 100,000 elements. The running time of the program is: 40ms

Summary: Without considering deduplication and sorting, the above several commonly used sets The execution efficiency sorting is: ArrayList >= LinkedList > HashSet > TreeSet

5. Add elements to HashMap set

private static void testHashMap() {

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

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {
   hashMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("HashMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");

 }

Program output :

HashMap adds 100,000 elements. The program running time is: 17ms

6. Adding elements to TreeMap collection

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

  long startTime = System.currentTimeMillis(); // 获取开始时间
  for (int i = 0; i < 100000; i++) {
   treeMap.put(i, "test");
  }

  long endTime = System.currentTimeMillis(); // 获取结束时间

  // 输出程序运行时间
  System.out.println("TreeMap添加10万个元素程序运行时间为:" + (endTime - startTime) + "ms");
 }

Program output:

TreeMap adds 100,000 elements. The program running time is: 40ms

Summary: Without considering sorting, the execution efficiency of HashMap is higher than that of TreeMap : HashMap > TreeMap.

[Related recommendations]

1.Java free video tutorial

2. Java achieves equal proportions of images Thumbnail video tutorial

3. FastJson tutorial manual

The above is the detailed content of Briefly describe the efficiency of adding elements to six collections. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn