int index = 100000000;
Random random = new Random();
ArrayList<Integer> list2 = new ArrayList<Integer>();
for (int i = 0; i < index; i++) {
list2.add(random.nextInt(99));
}
long currentTime = System.currentTimeMillis();
Collections.sort(list2);
long useTime = System.currentTimeMillis() - currentTime;
System.out.println("數組用時=" + useTime);
**Collections.sort(list2); 這個排序1億條數據。耗時26098毫秒**
int currentTime = System.currentTimeMillis();
TreeSet<Integer> treeSet = new TreeSet<Integer>();
for (int i = 0; i < index; i++) {
treeSet.add(random.nextInt(99));
}
long useTime = System.currentTimeMillis() - currentTime;
System.out.println("TreeSet用時=" + useTime);
**使用TreeMap排序1億條數據 總耗時 4770毫秒。**
int index = 100000000;
Random random = new Random();
int[] list = new int[index];
for (int i = 0; i < index; i++) {
list[i] = random.nextInt(99);
}
long currentTime = System.currentTimeMillis();
Arrays.sort(list);
long useTime = System.currentTimeMillis() - currentTime;
System.out.println("數組用時=" + useTime);
**Arrays.sort(list);這個方法排序1億條數據耗時 2379毫秒**
插入排序,歸併排序,的效率比起java提供的 Arrays.sort(list); 和Collections.sort(list2); 排序都相差甚遠。 平 時開發中 最好使用系統提供的排序函數。
java 提供的排序效率 與TreeSet排序效率比較
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.