1. Description
There are three differences between arrays and other types of containers: efficiency, type, and the ability to save basic types. In Java, arrays are the most efficient way to store and randomly access a sequence of object references. Arrays are used less and less in project design and are not as convenient as List and set. However, arrays still have some advantages in terms of speed. The bottom layer of the collection class is implemented through arrays.
2. Performance comparison example
The following uses arrays and lists to make a comparison using summation:
Long time1 = System.currentTimeMillis(); for(int i = 0 ; i < 100000000 ;i++){ sum += arrays[i%10]; } Long time2 = System.currentTimeMillis(); System.out.println("数组求和所花费时间:" + (time2 - time1) + "毫秒"); Long time3 = System.currentTimeMillis(); for (int i = 0; i < 100000000; i++) { sum += list.get(i%10); } Long time4 = System.currentTimeMillis(); System.out.println("List求和所花费时间:" + (time4 - time3) + "毫秒"); --------------Output: 数组求和所花费时间:696毫秒 List求和所花费时间:3498毫秒
From the above time consumption It is said that the sum calculation speed of basic types of arrays is about 5 times that of sets. In fact, in the list collection, there is a fatal action in the summation: list.get(i). This action is an unboxing action. The Integer object is automatically converted into an int basic type through the intValue method, which causes unnecessary performance consumption.
So please give priority to arrays in scenarios with high performance requirements!
The basic data types of Java are divided into:
1. Integer type, used to represent the data type of integer.
2. Floating point type, a data type used to represent decimals.
3. Character type. The keyword of character type is "char".
4. Boolean type is the basic data type that represents logical values.
The above is the detailed content of Java array performance example analysis. For more information, please follow other related articles on the PHP Chinese website!