JAVA深入學習——Set集合_第1頁
JAVA深入學習——Set集合_第2頁
JAVA深入學習——Set集合_第3頁
JAVA深入學習——Set集合_第4頁
JAVA深入學習——Set集合_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、集合 - Set1Set的功能和List一樣,可以看成可變長度的數(shù)組的接口它有很多實現(xiàn)類但是,Set是一種不能包含有重復元素的集合,即對于滿足e1.equals(e2)條件的e1與e2對象元素,不能同時存在于同一個Set集合里因此,為Set集合里的元素的實現(xiàn)類實現(xiàn)一個有效的equals(Object)方法 2Set的實現(xiàn)類Set的實現(xiàn)類中,我們推薦:HashSetTreeSet二者接口一致,所以操作方式相同3Set 增加元素import java.util.HashSet;public class Parent public static void main( String args ) Ha

2、shSet s = new HashSet();s.add( Eric );4Set 刪除元素import java.util.HashSet;public class Parent public static void main( String args ) HashSet s = new HashSet();s.add( Eric );s.remove( Eric );5Set 修改元素Set沒有修改方法,怎么辦?先刪除再插入6Set 查詢元素Set沒有查詢元素的方法,建議從Set的第一個元素一直遍歷到要查詢的那個元素,詳細方式請參考后面“Set 遍歷”7Set 遍歷public clas

3、s Parent public static void main( String args ) HashSet s = new HashSet();s.add( Eric );s.add( Janet );/int len = s.size();Iterator itr = s.iterator();while ( true ) boolean b = itr.hasNext();if ( false = b ) break;String str = ( String )itr.next();System.out.println( str );8TreeSet具有元素自動排序功能public

4、class Parent public static void main( String args ) Set s = new TreeSet();s.add( 2 );s.add( 3 );s.add( 1 );int len = s.size();Iterator itr = s.iterator();while ( true ) boolean b = itr.hasNext();if ( false = b ) break;String str = ( String )itr.next();System.out.println( str );9TreeSet對自定義類的排序查看元素遍歷

5、出來的順序思考:如果存放到TreeSet中的元素不是String,而是我們自己寫的Parent類,那么,TreeSet根據(jù)什么原則來為我們存放進去的多個Parent類的實例排序呢?10TreeSet對自定義類的排序那么,就要求這個類要實現(xiàn)Comparable接口并且實現(xiàn)這個接口中提供的compareTo排序方法然后,TreeSet就能自動調(diào)用這個方法為我們排序了11TreeSet對自定義類的排序public class Parent implements Comparable public int age;public int compareTo(Object obj) Parent p =

6、( Parent )obj;if ( this.age p.age ) return 1; else if ( this.age p.age ) return -1; else return 0;12TreeSet對自定義類的排序public static void main( String args ) Parent p1 = new Parent();p1.age = 1;Parent p2 = new Parent();p2.age = 2;Parent p3 = new Parent();p3.age = 3;Set s = new TreeSet();s.add( p1 );s.add( p2 );s.add( p3 );int len = s.size();Iterator itr = s.iterator();while ( true ) boolean b = itr.hasNext();if ( false = b ) break;Parent p = ( Parent )itr.next();System.out.println( p.age );13練習編寫User類,它有一個int類型的成員變量userAge記錄用戶年齡,并且,要求這個User類能在TreeSet中自動排序在main方法中:創(chuàng)建一個Tre

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論