程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 一道常考的javaSE面試題

一道常考的javaSE面試題

編輯:關於JAVA

就這道題我也想些想法,當時他們和我說完,我在想用什麼方法可以實現。畢竟現在javaSE都忘的差不多了,現在主要學的還是javaEE方面。年前學習JSP和SERVLET一片的知識,到了年後主要學習三大框架、AJax、jquery和XML等。不過當時出現腦中的算法只有:Java.util包中定義的Arrays類和冒泡法。

下面就拿上面方說的那兩種方法具體說說。

在JDK的Java.util包中定義的Arrays類提供了多種數據操作方法,實現了對數組元素的排序、填充、轉換、增強檢索和深度比較等功能,所以的這些方法都是static的,下面介紹對數組元素進行排序的方法。數組元素的排序通常是指一維數值型數組元素按升序排序,偶爾也會涉及一維String數組排序,一般來說,多維和其他引用類型的元素數組排序使用意義不大。

Arrays類中的sort()的格式:

public static void sort([] a);

案例1:

JDK的Java.util包中定義的Arrays類提供了排序方法

一維數組排序:

Java代碼

  1. package cn.z_xiaofei168.sort;
  2. import Java.util.Arrays;
  3. public class TestArraySort {
  4. /**
  5. * @author z_xiaofei168
  6. */
  7. public static void main(String[] args) {
  8. int[] arr = { -1, -3, 5, 7, 9, 2, 4, 6, 8, 10 };
  9. System.out.print("整數排序前:");
  10. displayIntArr(arr);
  11. Arrays.sort(arr);
  12. System.out.print("整數排序後:");
  13. displayIntArr(arr);
  14. String[] name = {"Tom","Kitty","James","z_xiaofei168","DXL_xiaoli","Zhang_Di"};
  15. System.out.print("字符串排序前:");
  16. displayStringArr(name);
  17. Arrays.sort(name);
  18. System.out.print("字符串排序後:");
  19. displayStringArr(name);
  20. }
  21. /** 整數排序方法 */
  22. public static void displayIntArr(int[] arr) {
  23. for (int i : arr) {
  24. System.out.print(i + "\t");
  25. }
  26. System.out.println();
  27. }
  28. /** 字符串排序方法 */
  29. public static void displayStringArr(String[] arr) {
  30. for (String s : arr) {
  31. System.out.print(s + "\t");
  32. }
  33. System.out.println();
  34. }
  35. }

運行結果如下圖所示:

案例2:冒泡法

Java代碼

  1. package cn.z_xiaofei168.sort;
  2. public class TestMaopao {
  3. /**
  4. * @author z_xiaofei168
  5. */
  6. public static void main(String[] args) {
  7. int[] arr = { -1, -3, 5, 7, 9, 2, 4, 6, 8, 10 };
  8. System.out.print("整數排序前:");
  9. for(int ar : arr){
  10. System.out.print(ar+"\t");
  11. }
  12. System.out.println();
  13. displayIntArr(arr);
  14. System.out.print("整數排序後:");
  15. for(int a : arr){
  16. System.out.print(a+"\t");
  17. }
  18. }
  19. /** 冒泡排序方法 */
  20. public static void displayIntArr(int[] arr) {
  21. for (int i=arr.length-1;i>0;i--) {
  22. for (int j = 0; j < i; j++) {
  23. if(arr[j]>arr[j+1]){
  24. int temp;
  25. temp = arr[j];
  26. arr[j] = arr[j+1];
  27. arr[j+1] = temp;
  28. }
  29. }
  30. }
  31. }
  32. }

運行結果如下圖所示:

大家還有什麼方法可以實現這個功能,請大家給我留言。以至於我們共同學習、共同進步。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved