Home> Java> javaTutorial> body text

Briefly describe the efficiency of adding elements to six collections

Y2J
Release: 2017-05-08 15:42:35
Original
1347 people have browsed it

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 list = new ArrayList(); 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"); // 输出程序运行时间 }
Copy after login

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 set = new HashSet(); 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"); // 输出程序运行时间 }
Copy after login

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 list = new LinkedList(); 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"); }
Copy after login

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 set = new TreeSet(); 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"); }
Copy after login

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 hashMap = new HashMap(); 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"); }
Copy after login

Program output :

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

6. Adding elements to TreeMap collection

private static void testTreeMap() { Map treeMap = new TreeMap(); 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"); }
Copy after login

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!

Related labels:
source:php.cn
Statement of this Website
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
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!