<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、概述 Collections 類提供了許多操作集合的靜態方法,借助這些靜態方法可以實現集合元素的排序、填充和復制等操作。 ## 二、對基本數據類型和字符串進行排序 ### 2.1 基本數據類型集合排序 【例題】編寫一個程序,對用戶輸入的 5 個商品價格進行排序后輸出。 ``` Scanner input = new Scanner(System.in); List<Integer> prices = new ArrayList<Integer>(); for (int i= 0; i < 5; i++) { System.out.println("請輸入第 " + (i + 1) + " 個商品的價格:"); int p = input.nextInt(); prices.add(Integer.valueOf(p)); // 將錄入的價格保存到List集合中 } Collections.sort(prices); // 調用sort()方法對集合進行排序 System.out.println("價格從低到高的排列為:"); for (int i = 0; i < prices.size(); i++) { System.out.print(prices.get(i) + "\t"); } ``` 【選擇】在下面代碼中的(1)(2)處可以填寫()(選擇兩項) ``` List< (1) > list = new ArrayList< (2) >(); ``` ``` A int int B Integer Integer C String String D string string ``` ### 2.2 字符串集合排序 【例題】循環錄入 5 個商品的名稱,并按商品的名稱進行排序。 ``` Scanner input = new Scanner(System.in); List<String> list = new Array<String>(); for (int i = 0; i < 5; i++) { System.out.println("請輸入第 " + (i + 1) + " 個商品的名稱:"); String name = input.next(); list.add(name); // 將錄入的商品名稱存到List集合中 } Collections.sort(list); // ... ``` 【編程】對英文單詞進行排序,效果圖如下: ``` 排序前:orange tomato apple litchi banana 排序后:apple banana litchi orange tomato ``` ``` public class StringSort { public static void main(String[] args) { // 給list添加元素 // 輸出排序前list中的內容 // 對list中的元素進行排序 // 輸出排序后list中的內容 } } ``` ## 三、Comparator 接口 【例題】按照學生成績對學生進行排序。 ``` public class Student { private String name; private double score; // constructor ... // getter setter ... // toString() ... } import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test { public static void main(String[] args) { List<Student> list = new ArrayList<>(); list.add(new Student("ming", 80)); list.add(new Student("hong", 70)); list.add(new Student("hua", 90)); Collections.sort(list, new Comparator<Student>() { @Override public int compare(Student o1, Student o2) { return o1.getScore() - o2.getScore(); } }); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } } ``` 【選擇】下列說法中不正確的是()(選擇一項) ``` A Comparator 接口用于對自定義類進行整體排序 B Comparator 接口可以將 Comparator 傳遞給 sort 方法 C int compare(T o1, T o2) 比較用來排序的兩個對象 D boolean equals(Object obj) 指示對象 obj 是否是等于當前對象。 此方法不可以被 Object 類中的 equals 方法覆蓋 ``` 【編程】定義一個學生信息類,包括學號、姓名、年齡三個成員變量,然后按名字進行升序排序。(使用 Comparator 接口)運行效果如下: ``` 按名字排序前: [學號:40,年齡:20,姓名:peter] [學號:28,年齡:5,姓名:angel] [學號:35,年齡:18,姓名:tom] 按名字排序后: [學號:28,年齡:5,姓名:angel] [學號:40,年齡:20,姓名:peter] [學號:35,年齡:18,姓名:tom] ``` ``` // 實現 Comparator 接口 public class StudentTest { // 實現接口中的方法 public static void main(String[] args) { // 定義 Student 類的對象 // 將對象添加到 list 中 // 輸出排序前的數據 // 排序 // 輸出排序后的數據 } } ``` ## 四、Comparable 接口 【例題】按照學生成績對學生進行排序。 ``` public class Student implements Comparable<Student> { // 此處省略代碼 ... @Override public int compareTo(Student o) { return this.getScore() - o.getScore(); } } import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Test { public static void main(String[] args) { List<Student> list = new ArrayList<>(); // 此處省略向列表中添加元素 ... Collections.sort(list); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } } ``` 【選擇】關于 Comparable 接口的說法,以下哪個是錯誤的()(選擇一項) ``` A Comparable 位于 java.lang 包 B 調用 sort 方法后,需要指定 Comparable 接口的實現類 C Comparable 接口的抽象方法是 int compareTo(T t) D Comparable 接口還可以用于數組的排序 ``` 【編程】定義一個員工信息類,包括編號、姓名、工資三個成員變量,要求工資定義為 float 類型,然后按工資進行降序排序。(使用 Comparable 接口)運行效果圖如下: ``` 排序前: 員工[編號:emp001,姓名:張三,工資:1800.0] 員工[編號:emp002,姓名:李四,工資:2500.0] 員工[編號:emp003,姓名:王五,工資:1600.0] 排序后: 員工[編號:emp002,姓名:李四,工資:2500.0] 員工[編號:emp001,姓名:張三,工資:1800.0] 員工[編號:emp003,姓名:王五,工資:1600.0] ``` ``` public class EmployeeTest { public static void main(String[] args) { // 定義Employee類的對象 // 將對象添加到List中 // 輸出排序前的數據 // 排序 // 輸出排序后的數據 } } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看