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() { Listlist = 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"); // 输出程序运行时间 }
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() { Setset = 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"); // 输出程序运行时间 }
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() { Listlist = 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"); }
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() { Setset = 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"); }
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() { MaphashMap = 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"); }
Program output :
HashMap adds 100,000 elements. The program running time is: 17ms
6. Adding elements to TreeMap collection
private static void testTreeMap() { MaptreeMap = 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"); }
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]
2.Java achieves equal proportions of images Thumbnail video tutorial
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!