大漠駝鈴

          置身浩瀚的沙漠,方向最為重要,希望此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 草原上的駱駝 閱讀(2735) 評論(0)  編輯  收藏 所屬分類: JAVA基礎知識

          主站蜘蛛池模板: 盐边县| 宕昌县| 夏津县| 山丹县| 东明县| 永仁县| 三河市| 德昌县| 江川县| 乌恰县| 微博| 木里| 马龙县| 衡南县| 监利县| 东兴市| 永修县| 枣庄市| 多伦县| 延长县| 宜春市| 沁水县| 沅陵县| 赤峰市| 大厂| 柳州市| 达尔| 莲花县| 临高县| 邓州市| 手游| 明水县| 榕江县| 松桃| 富锦市| 确山县| 邵东县| 新干县| 大悟县| 乐安县| 阿拉善盟|