<s id="2e0qm"><div id="2e0qm"></div></s>
<div id="2e0qm"><button id="2e0qm"></button></div>
<small id="2e0qm"></small>
<div id="2e0qm"></div>
<div id="2e0qm"><s id="2e0qm"></s></div>
<div id="2e0qm"><button id="2e0qm"></button></div>
主頁 > 知識庫 > 網絡編程 > JSP/Java >

JAVA應用 之 排序

來源:中國IT實驗室 作者:佚名 發表于:2013-07-17 14:17  點擊:
概述: 1.本文闡述對List(Array亂入)的排序問題。 2.Set和Map的排序 可使用TreeSet、TreeMap,見本博客的相關文章(下面提供連接)。 3.想對一個List進行排序有2種方法(數組也適用): 方法一:實現一個比較器Comparator. 方法二:List中的對象實現Comparab
概述:
    1.本文闡述對List(Array亂入)的排序問題。
    2.Set和Map的排序 可使用TreeSet、TreeMap,見本博客的相關文章(下面提供連接)。
    3.想對一個List進行排序有2種方法(數組也適用):
    方法一:實現一個比較器Comparator.
    方法二:List中的對象實現Comparable接口的compareTo方法。
    4.完成上面一點后,集合使用Collections.sort,數組使用Arrays.sort進行排序。
    [java]
    package com.cxy.collection;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashSet;
    import java.util.List;
    import java.util.Set;
    /**
    * @author cxy
    */
    public class ListSortTest
    {
    public static void main(String[] args)
    {
    List <Student> l=new ArrayList();
    Student s1 =new Student("小明",76);
    Student s2 =new Student("小黑",99);
    Student s3 =new Student("小白",60);
    l.add(s1);
    l.add(s2);
    l.add(s3);
    System.out.print("List排序前:");
    System.out.println(l);
    //第一種方式:普通的對象,然后實現一個比較器,使用下面的方法進行排序
    Collections.sort(l,new StudentComparator());
    System.out.print("List排序后:");
    System.out.println(l);
    System.out.println("=======================");
    //亂入的數組
    Student[] sa={s1,s2,s3};
    System.out.print("數組排序前:");
    System.out.println(sa[0].toString()+sa[1]+sa[2]);
    Arrays.sort(sa,new StudentComparator());
    System.out.print("數組排序后:");
    System.out.println(sa[0].toString()+sa[1]+sa[2]);
    System.out.println("============下面的都是ComparableStudent演示===========");
    //對象自身擁有排序能力
    List<ComparableStudent> l1=new ArrayList();
    ComparableStudent s11 =new ComparableStudent("較勁的小明",76);
    ComparableStudent s22 =new ComparableStudent("較勁的小黑",99);
    ComparableStudent s33 =new ComparableStudent("較勁的小白",60);
    //PS:較勁的意思可以理解為 爭強好勝 o_o
    l1.add(s11);
    l1.add(s22);
    l1.add(s33);
    System.out.print("List排序前:");
    System.out.println(l1);
    Collections.sort(l1);
    System.out.print("List排序后:");
    System.out.println(l1);
    System.out.println("=======================");
    //數組再次亂入
    ComparableStudent[] cs={s11,s22,s33};
    System.out.print("數組排序前:");
    System.out.println(cs[0].toString()+cs[1]+cs[2]);
    Arrays.sort(cs);
    System.out.print("數組排序后:");
    System.out.println(cs[0].toString()+cs[1]+cs[2]);
    }
    }
    //一個普通的學生類,按照學生的學習成績進行排序

有幫助
(0)
0%
沒幫助
(0)
0%
真人女荫道口100种图片
<s id="2e0qm"><div id="2e0qm"></div></s>
<div id="2e0qm"><button id="2e0qm"></button></div>
<small id="2e0qm"></small>
<div id="2e0qm"></div>
<div id="2e0qm"><s id="2e0qm"></s></div>
<div id="2e0qm"><button id="2e0qm"></button></div>