<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java, Only Java!

    統計

    留言簿(20)

    積分與排名

    好友空間

    文檔技巧

    閱讀排行榜

    評論排行榜

    《Java大學教程》—第17章 Java聚焦類框架

    由所有聚焦類構成,在java.util包中,包含三個重要接口:
    *    List列表:元素為單個對象,元素在列表中是有序、可重復
    *    Set集合:元素為單個對象,元素在集合中無序、不可重復
    *    Map映射:元素為成對對象(第一個對象是關鍵字,第二個對象是值),元素在映射中無序,關鍵字不可重復
    注:JCF不能存儲基本數據類型。

    17.2 List接口和ArrayList類
    *    ArrayList類
    *    LinkedList類

    17.2.1    泛型(generics):允許設定存在在特定聚焦類對象中的對象類型。可以將一個或多個類型作為參數發送到一個類(或接口)中,亦被稱為參數化類型。
    優點:允許編譯檢查類型;不必進行對象類型轉換;避免產生ClassCastException異常。

    17.2.2    使用接口類型代替實現類型作為函數的形參
    允許將來修改實現的方式而不必修改形參中對象的類型。

    17.2.3    List接口的方法
    操作:增加(add)?將元素插在列表的末尾;?將元素插入到列表中指定的位置。
    注:使用索引插入參數到列表中時,必須保證索引是當前列表中的有效位置
    修改(set)、刪除(delete)
    列表:顯示(toString)、總數(size)、是否空(isEmpty)
    元素:位置(indexOf)返回指定對象在列表中第一次出現時的索引。
    獲取(get)、存在(contains)

    17.3    增強的for循環:數組、List接口、Set接口
    不能用于修改或刪除原始集合中的元素,因為編譯可以通過,但是有可能導致程序結果不可預測。

    17.4    Set接口和HashSet類
    *    HashSet類
    *    TreeSet類

    17.4.1    Set接口的方法
    操作:增加和修改(add)、刪除(remove)
    列表:顯示(toString)、總數(size)、是否空(isEmpty)
    元素:獲取(get)、存在(contains)

    17.4.3    Iterator接口:用于修改和刪除Set中的元素
    使用Set對象中提供的Iterator對象。

    17.5    Map接口和HashMap類
    *    HashMap類
    *    TreeMap類

    Map接口的方法:
    操作:增加和修改(put)、刪除(remove)
    元素:關鍵字存在(containsKey)、值存在(containsValue)、值獲取(get)

    17.6    JCF中使用自定義類
    方法重寫:toString();    equals();    hashCode()

    自測題:
    1. 三種接口的區別:
    *    List列表:元素為單個對象,元素在列表中是有序、可重復
    *    Set集合:元素為單個對象,元素在集合中無序、不可重復
    *    Map映射:元素為成對對象(第一個對象是關鍵字,第二個對象是值),元素在映射中無序,關鍵字不可重復

    2.    Map<String, Student> javaStudents = new HashMap<String, Student>();
    a)    允許將來修改實現的方式而不必修改形參中對象的類型。

    b)    可以將一個或多個類型作為參數發送到一個類(或接口)中,亦被稱為參數化類型。
    優點:允許編譯檢查類型;不必進行對象類型轉換;避免產生ClassCastException異常。

    c)    javaStudents.put("U0012345","Fadi");
    javaStudents定義的是Student類型,不能接收String類型的數據。

    3.    StockItem類
    a)   

    public String toString(){
        return "("+stockNumber+","+name+","+price+","+totalStock+")\n";
    }

    b)

    public boolean equals(Object objIn){
        StockItem st = (StockItem) objIn;
        return stockNumber.equals(st.stockNumber);
    }

    c)

    public int hashCode(){
        return stockNumber.hashCode();
    }

    4.
    a)

    String tmpString;
        boolean first=true;
        if (regNums.size()==0){
            tmpString="{}";
        } else {
            StringBuilder sb = new StringBuilder();
            for (String item: regNums){
                if (first)    {
                    sb.append("{"+item);
                    first = false;
                } else {
                    sb.append(","+item);
                }
            }
            sb.append("}");
            System.out.println(sb);

    b)
    Iterator<String> elements = regNums.iterator();
        while(elements.hasNext()){
            String item = elements.next();
            if (item.charAt(item.length()-1)=='S'
                elements.remove();
        }

    編程練習:代碼附件
    1.    NameStack.java    NameStackException.java    NameStackTest.java
    a)    因為需要可變大小的存儲空間,而存儲的對象必須是有序的,但是是可以重復的。

    2.    CarRegister.java    CarRegisterException.java        CarRegisterTest.java
    a)    因為需要可變大小的存儲空間,而存儲的對象可以是無序的,但是必須惟一。

    3.    Book.java        Library.java    LibraryTest.java

    4.    Bank.java        BankAccount.java        BankTest.java
    a)    HashMap類適合代替數組實現Bank類。因為其可以滿足成對對象集合的需要,還可以確定關鍵字。

    posted on 2016-10-01 17:12 zYx.Tom 閱讀(438) 評論(0)  編輯  收藏 所屬分類: 1.Java世界

    主站蜘蛛池模板: 国产亚洲美女精品久久久2020| 久久精品国产亚洲AV网站| 一级毛片在线免费视频| 亚洲成色999久久网站| 免费国产作爱视频网站| 一级日本高清视频免费观看| 麻豆亚洲av熟女国产一区二| 国产青草视频免费观看97| 免费人成毛片动漫在线播放| 亚洲乱妇老熟女爽到高潮的片| 国产亚洲精品va在线| 成年女人毛片免费播放视频m | 精品国产污污免费网站入口在线| 亚洲一本综合久久| 国产精品视_精品国产免费| 日韩精品无码一区二区三区免费 | 亚洲av中文无码字幕色不卡| 亚洲成A∨人片在线观看不卡| 久久WWW色情成人免费观看| a色毛片免费视频| 精品一区二区三区无码免费直播| 亚洲视频在线观看视频| 亚洲欧洲日本在线| 免费黄网在线观看| 91九色老熟女免费资源站| 中文字幕无码毛片免费看| 香蕉视频亚洲一级| 亚洲xxxx视频| 亚洲欧洲国产成人精品| 亚洲中文字幕无码永久在线| 麻豆国产入口在线观看免费| av无码国产在线看免费网站| a级毛片在线免费| 无码精品人妻一区二区三区免费| 亚洲激情视频图片| 亚洲一区二区在线视频| 亚洲乱码中文字幕久久孕妇黑人| 日本一道在线日本一道高清不卡免费 | 色天使亚洲综合一区二区| 亚洲国产美女在线观看| 久久久久亚洲av无码尤物|