大漠駝鈴

          置身浩瀚的沙漠,方向最為重要,希望此blog能向大漠駝鈴一樣,給我方向和指引。
          Java,Php,Shell,Python,服務器運維,大數據,SEO, 網站開發、運維,云服務技術支持,IM服務供應商, FreeSwitch搭建,技術支持等. 技術討論QQ群:428622099
          隨筆 - 238, 文章 - 3, 評論 - 117, 引用 - 0
          數據加載中……

          Arrays.sort用法



          package test;

          import java.util.Arrays;
          import java.util.Comparator;

          public class ArraySortDemo {
          /**
          * 整數型數組排序
          */
          public void sortIntArray() {
             
          int[] arrayToSort = new int[] { 4858980812345162 };
             System.out.println(
          "整數型數組排序,排序前:");
             
          for (int i = 0; i < arrayToSort.length; i++){
              System.out.print(arrayToSort[i]
          +",");
             }
             
          // 調用數組的靜態排序方法sort
            Arrays.sort(arrayToSort);
             System.out.println();
             System.out.println(
          "排序后:");
             
          for (int i = 0; i < arrayToSort.length; i++){
              System.out.print(arrayToSort[i]
          +",");
             }
          }

          /**
          * 字符型數組排序demo
          */
          public void sortStringArray() {
             String[] arrayToSort 
          = new String[] { "Oscar""Charlie""Ryan",
               
          "Adam""David","aff","Aff" };
             System.out.println();
             System.out.println(
          "字符型數組排序,排序前:");
             
          for (int i = 0; i < arrayToSort.length; i++){
              System.out.print(arrayToSort[i]
          +",");
             }
             System.out.println();
             System.out.println(
          "排序后:");
             
          // 調用數組的靜態排序方法sort
             Arrays.sort(arrayToSort);

             
          for (int i = 0; i < arrayToSort.length; i++){
              System.out.print(arrayToSort[i]
          +",");
             }
          }

          /**
          * 對象數組排序demo
          */
          public void sortObjectArray() {
             Dog o1 
          = new Dog("dog1"1);
             Dog o2 
          = new Dog("dog2"4);
             Dog o3 
          = new Dog("dog3"5);
             Dog o4 
          = new Dog("dog4"2);
             Dog o5 
          = new Dog("dog5"3);
             Dog[] dogs 
          = new Dog[] { o1, o2, o3, o4, o5 };
             System.out.println();
             System.out.println(
          "對象數組排序排序前:");
             
          for (int i = 0; i < dogs.length; i++) {
              Dog dog 
          = dogs[i];
              System.out.print(dog.getName()
          +"["+dog.getWeight()+"],");
             }
             Arrays.sort(dogs, 
          new ByWeightComparator());
             System.out.println();
             System.out.println(
          "排序后:");
             
          for (int i = 0; i < dogs.length; i++) {
              Dog dog 
          = dogs[i];
              System.out.print(dog.getName()
          +"["+dog.getWeight()+"],");
             }
          }

          public static void main(String[] args) {
             ArraySortDemo t 
          = new ArraySortDemo();
             t.sortIntArray();
             t.sortStringArray();
             t.sortObjectArray();
          }
          }

          /**
          * 定義了一個Dog類
          */
          class Dog {
          private String name;
          private int weight;

          public Dog(String name, int weight) {
             
          this.setName(name);
             
          this.weight = weight;
          }

          public int getWeight() {
             
          return weight;
          }

          public void setWeight(int weight) {
             
          this.weight = weight;
          }

          public void setName(String name) {
             
          this.name = name;
          }

          public String getName() {
             
          return name;
          }
          }

          /**
          * 因為要對對象進行排序,所以要實現java.util.Comparator接口的compare(T o1, T o2)方法,在該方法中自定義排序算法。
          */
          class ByWeightComparator implements Comparator {
          public final int compare(Object pFirst, Object pSecond) {
             
          int aFirstWeight = ((Dog) pFirst).getWeight();
             
          int aSecondWeight = ((Dog) pSecond).getWeight();
             
          int diff = aFirstWeight - aSecondWeight;
             
          if (diff > 0)
              
          return 1;
             
          if (diff < 0)
              
          return -1;
             
          else
              
          return 0;
          }
          }

          運行結果:

          整數型數組排序,排序前:
          48,5,89,80,81,23,45,16,2,
          排序后:
          2,5,16,23,45,48,80,81,89,
          字符型數組排序,排序前:
          Oscar,Charlie,Ryan,Adam,David,aff,Aff,
          排序后:
          Adam,Aff,Charlie,David,Oscar,Ryan,aff,
          對象數組排序排序前:
          dog1[
          1],dog2[4],dog3[5],dog4[2],dog5[3],
          排序后:
          dog1[
          1],dog4[2],dog5[3],dog2[4],dog3[5],
          地方
          List list = new ArrayList() ;
          list.add(
          "abcd") ;
          list.add(
          "abdc") ;
          list.add(
          "aadf") ;
          list.add(
          "aabf") ;
          /*將list轉為數組*/
          String[] strs 
          = new String[list.size()] ;
          list.toArray(strs) ;
          /*排序,只排2<=索引<4之間的數據*/
          Arrays.sort(strs,
          2,4) ;
          for(String str : strs){
          System.out.println(str) ;
          }

          posted on 2009-10-31 22:21 草原上的駱駝 閱讀(2746) 評論(0)  編輯  收藏 所屬分類: JAVA基礎知識

          主站蜘蛛池模板: 镇原县| 台湾省| 远安县| 阳江市| 呼伦贝尔市| 海城市| 台湾省| 长汀县| 闵行区| 明溪县| 双牌县| 延川县| 金塔县| 博乐市| 拜城县| 永嘉县| 科技| 石楼县| 温泉县| 和政县| 孟村| 黎平县| 黄冈市| 高邑县| 花莲县| 叙永县| 黄浦区| 二手房| 海晏县| 南通市| 左云县| 信宜市| 塔河县| 西畴县| 临安市| 图木舒克市| 綦江县| 江川县| 留坝县| 湘西| 富平县|