HashSet hs = new HashSet(); // 呼叫無參的建構函式建立HashSet物件 HashSet<String> hss = new HashSet<String>(); // 建立泛型的 HashSet 集合物件
public static void main(String[] args) { HashSet<String> bookSet = new HashSet<String>(); // 建立一個空的 Set 集合 String book1 = new String("如何成為 Java 程式設計高手"); String book2 = new String("Java 程式設計一百例"); String book3 = new String("從零學 Java 語言"); String book4 = new String("論 java 的快速開發"); bookSet.add(book1); // 將 book1 儲存到 Set 集合中 bookSet.add(book2); // 將 book2 儲存到 Set 集合中 bookSet.add(book3); // 將 book3 儲存到 Set 集合中 bookSet.add(book4); // 將 book4 儲存到 Set 集合中 System.out.println("新進圖書有:"); Iterator<String> it = bookSet.iterator(); while (it.hasNext()) { System.out.println("《" + (String) it.next() + "》"); // 輸出 Set 集合中的元素 } System.out.println("共採購 " + bookSet.size() + " 本圖書!"); }如上述程式碼,首先使用 HashSet 類的構造方法建立了一個 Set 集合,接著建立了 4 個 String 型別的物件,並將這些物件儲存到 Set 集合中。使用 HashSet 類中的 iterator() 方法獲取一個 Iterator 物件,並呼叫其 hasNext() 方法遍歷集合元素,再將使用 next() 方法讀取的元素強制轉換為 String 型別。最後呼叫 HashSet 類中的 size() 方法獲取集合元素個數。
新進圖書有: 《如何成為 Java 程式設計高手》 《從零學 Java 語言》 《Java 程式設計一百例》 《論 java 的快速開發》 共採購 4 本圖書!
類 | 比較方式 | |
---|---|---|
包裝類(BigDecimal、Biglnteger、 Byte、Double、 Float、Integer、Long 及 Short) |
按數位大小比較 | |
Character | 按字元的 Unicode 值的數位大小比較 | |
String | 按字串中字元的 Unicode 值的數位大小比較 |
方法名稱 | 說明 |
---|---|
E first() | 返回此集合中的第一個元素。其中,E 表示集合中元素的資料型別 |
E last() | 返回此集合中的最後一個元素 |
E poolFirst() | 獲取並移除此集合中的第一個元素 |
E poolLast() | 獲取並移除此集合中的最後一個元素 |
SortedSet<E> subSet(E fromElement,E toElement) |
返回一個新的集合,新集合包含原集合中 fromElement 物件與 toElement 物件之間的所有物件。包含 fromElement 物件,不包含 toElement 物件 |
SortedSet<E> headSet<E toElement〉 |
返回一個新的集合,新集合包含原集合中 toElement 物件之前的所有物件。 不包含 toElement 物件 |
SortedSet<E> tailSet(E fromElement) |
返回一個新的集合,新集合包含原集合中 fromElement 物件之後的所有對 象。包含 fromElement 物件 |
public class Test08 { public static void main(String[] args) { TreeSet<Double> scores = new TreeSet<Double>(); // 建立 TreeSet 集合 Scanner input = new Scanner(System.in); System.out.println("------------學生成績管理系統-------------"); for (int i = 0; i < 5; i++) { System.out.println("第" + (i + 1) + "個學生成績:"); double score = input.nextDouble(); // 將學生成績轉換為Double型別,新增到TreeSet集合中 scores.add(Double.valueOf(score)); } Iterator<Double> it = scores.iterator(); // 建立 Iterator 物件 System.out.println("學生成績從低到高的排序為:"); while (it.hasNext()) { System.out.print(it.next() + "t"); } System.out.println("n請輸入要查詢的成績:"); double searchScore = input.nextDouble(); if (scores.contains(searchScore)) { System.out.println("成績為: " + searchScore + " 的學生存在!"); } else { System.out.println("成績為: " + searchScore + " 的學生不存在!"); } // 查詢不及格的學生成績 SortedSet<Double> score1 = scores.headSet(60.0); System.out.println("n不及格的成績有:"); for (int i = 0; i < score1.toArray().length; i++) { System.out.print(score1.toArray()[i] + "t"); } // 查詢90分以上的學生成績 SortedSet<Double> score2 = scores.tailSet(90.0); System.out.println("n90 分以上的成績有:"); for (int i = 0; i < score2.toArray().length; i++) { System.out.print(score2.toArray()[i] + "t"); } } }如上述程式碼,首先建立一個 TreeSet 集合物件 scores,並向該集合中新增 5 個 Double 物件。接著使用 while 迴圈遍歷 scores 集合物件,輸出該物件中的元素,然後呼叫 TreeSet 類中的 contains() 方法獲取該集合中是否存在指定的元素。最後分別呼叫 TreeSet 類中的 headSet() 方法和 tailSet() 方法獲取不及格的成績和 90 分以上的成績。
------------學生成績管理系統------------- 第1個學生成績: 53 第2個學生成績: 48 第3個學生成績: 85 第4個學生成績: 98 第5個學生成績: 68 學生成績從低到高的排序為: 48.0 53.0 68.0 85.0 98.0 請輸入要查詢的成績: 90 成績為: 90.0 的學生不存在! 不及格的成績有: 48.0 53.0 90 分以上的成績有: 98.0