<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 閱讀(440) 評論(0)  編輯  收藏 所屬分類: 1.Java世界

    主站蜘蛛池模板: 亚洲一区二区三区在线播放| 24小时日本在线www免费的| 四虎AV永久在线精品免费观看| 亚洲成a人片77777群色| 久久久久久精品免费免费自慰| 亚洲伊人久久大香线蕉苏妲己| 国产真人无码作爱视频免费| 亚洲人精品午夜射精日韩 | 亚洲精品国产精品乱码不99| 免费无码专区毛片高潮喷水| 亚洲成av人在片观看| 成人免费大片免费观看网站| 亚洲毛片免费视频| 毛片a级毛片免费观看品善网| 亚洲综合无码无在线观看| 免费观看美女裸体网站| 羞羞视频网站免费入口| 在线观看亚洲av每日更新| 暖暖日本免费中文字幕| 亚洲欧洲日本国产| 日本免费电影一区| 国产免费MV大全视频网站| 亚洲AV乱码一区二区三区林ゆな| 美丽姑娘免费观看在线观看中文版 | 大陆一级毛片免费视频观看| 老司机亚洲精品影院在线观看| 亚洲精品视频免费观看| 国产情侣久久久久aⅴ免费| 亚洲综合激情九月婷婷| 日韩黄色免费观看| 岛国岛国免费V片在线观看| 久久亚洲精品国产精品| 热99re久久免费视精品频软件| 国产精品hd免费观看| 亚洲福利电影在线观看| 成人毛片免费观看视频大全| 国产特黄一级一片免费 | 免费不卡视频一卡二卡| 羞羞漫画在线成人漫画阅读免费 | 曰批全过程免费视频观看免费软件| 亚洲一区免费观看|