Java:針對Array中的值作排序
上兩篇針對陣列與字串轉換、陣列移除重複項目作了介紹,
有興趣可以先參考:
這篇則是要介紹如何對陣例中的值或字串作排序,
排序的方法有很多種,
好奇的話可以參考許久以前的文章,Sorting Algorithms:排序演算法,
當中有一段 youtube 上的影片,詳細地介紹了各種排序方法。
下面的程式碼除了介紹把陣列中的項目作排序外,
也同場加映利用 TreeSet 同時將陣列作排序及移除重複項目。
適度地利用 Java 內建的資料結構,可以省下超多工喔!
更多關於 Java 的教學及程式範例,請見:
Java 教學及程式範例大全
關鍵字:Java, array, string, 陣列, 字串, 值, 排序,
有興趣可以先參考:
這篇則是要介紹如何對陣例中的值或字串作排序,
排序的方法有很多種,
好奇的話可以參考許久以前的文章,Sorting Algorithms:排序演算法,
當中有一段 youtube 上的影片,詳細地介紹了各種排序方法。
下面的程式碼除了介紹把陣列中的項目作排序外,
也同場加映利用 TreeSet 同時將陣列作排序及移除重複項目。
適度地利用 Java 內建的資料結構,可以省下超多工喔!
1 package werdna1222coldcodes.blogspot.com.demo.array; 2 3 import java.text.ParseException; 4 import java.util.Arrays; 5 import java.util.Set; 6 import java.util.TreeSet; 7 8 public class ArraySortDemo { 9 10 public static void main(String[] args) throws ParseException { 11 12 // 建立有重複項目之 int array 13 int intArray[] = { 4, 2, 5, 1, 5, 2, 4, 3 }; 14 15 // 利用 Arrays.sort 來排序 16 // 輸出結果:[1, 2, 2, 3, 4, 4, 5, 5] 17 arraySort(intArray); 18 19 // 使用 20 TreeSet,同時達成排序和移除重複項目的需求。 21 // 輸出結果:[1, 2, 3, 4, 5] 22 treeSetSort(intArray); 23 } 24 25 static void arraySort(int[] array) { 26 27 Arrays.sort(array); 28 String arrayString = Arrays.toString(array); 29 System.out.println(arrayString); 30 } 31 32 static void treeSetSort(int[] duplicateArray) { 33 34 Set<Integer> intSet = new TreeSet<Integer>(); 35 for (int element : duplicateArray) { 36 intSet.add(element); 37 } 38 39 int nonDuplicateAndSortedArray[] = new int[intSet.size()]; 40 41 Object[] tempArray = intSet.toArray(); 42 43 for (int i = 0; i < tempArray.length; i++) { 44 nonDuplicateAndSortedArray[i] = (Integer) tempArray[i]; 45 } 46 47 String arrayString = Arrays.toString( 48 nonDuplicateAndSortedArray); 49 System.out.println(arrayString); 50 } 51 }
更多關於 Java 的教學及程式範例,請見:
Java 教學及程式範例大全
關鍵字:Java, array, string, 陣列, 字串, 值, 排序,