<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世界

    主站蜘蛛池模板: 亚洲人成网站在线观看青青| 亚洲乱码中文字幕小综合| 精品亚洲视频在线观看| 久久精品九九亚洲精品天堂| 99久久亚洲精品无码毛片| 一本天堂ⅴ无码亚洲道久久| 日本黄页网址在线看免费不卡| 四虎精品成人免费视频| 曰批全过程免费视频在线观看无码| 永久在线观看www免费视频| 国产美女被遭强高潮免费网站 | 亚洲精品成人片在线播放| 亚洲国产综合在线| 中文毛片无遮挡高潮免费| 亚洲AV无码一区二区三区在线观看 | 亚洲av乱码一区二区三区按摩| 思思久久99热免费精品6| 成人免费的性色视频| 亚洲五月午夜免费在线视频| 亚洲成年人电影在线观看| 又长又大又粗又硬3p免费视频| 久久WWW免费人成一看片| 精品国产日韩亚洲一区| 亚洲AV色无码乱码在线观看| 99免费观看视频| 99久久国产亚洲综合精品| 无码精品一区二区三区免费视频| 国产人成免费视频| 一级毛片无遮挡免费全部| 毛片免费视频播放| 九一在线完整视频免费观看| 国产免费av片在线看| 亚洲小视频在线观看| 一级特黄aaa大片免费看| 国产精品免费一级在线观看| 亚洲国产成人精品无码一区二区| 国产成人AV免费观看| 国产精品xxxx国产喷水亚洲国产精品无码久久一区| 成人一区二区免费视频| 亚洲国产成人久久综合区| 亚洲第一街区偷拍街拍|