Java中的AbstractCollection add()方法:示例含代碼

Java中的AbstractCollection add()方法:示例

在Java中,AbstractCollection是所有集合類的抽象基類。愛掏網 - it200.com它實現了大多數的集合接口方法,讓子類只需要繼承它并根據自身特性實現少數接口方法即可。愛掏網 - it200.com其中就包含了add方法。愛掏網 - it200.com

在AbstractCollection類中,add方法的定義如下:

public boolean add(E e) {
    throw new UnsupportedOperationException();
}

這里定義了一個拋出UnsupportedOperationException異常的方法。愛掏網 - it200.com子類必須實現它才能使用。愛掏網 - it200.com

下面我們來看一個ArrayList的示例,它繼承了AbstractCollection,并實現了add方法:

import java.util.AbstractCollection;
import java.util.ArrayList;

public class MyList extends AbstractCollection<String> {

    private ArrayList<String> list = new ArrayList<>();

    @Override
    public boolean add(String str) {
        return list.add(str);
    }

    @Override
    public int size() {
        return list.size();
    }

    @Override
    public String toString() {
        return list.toString();
    }

    public static void main(String[] args) {
        MyList myList = new MyList();
        myList.add("Hello");
        myList.add("World");
        System.out.println(myList);
    }
}

這段代碼中,我們自定義了一個集合類MyList,它繼承了AbstractCollection類,并實現了add方法。愛掏網 - it200.com在add方法中,我們調用了ArrayList的add方法來添加元素。愛掏網 - it200.com同時我們還實現了size方法和toString方法來獲取集合大小和輸出集合內容。愛掏網 - it200.com

運行該程序,輸出如下:

[Hello, World]

可以看到我們自定義的集合類MyList成功地添加了兩個元素,并成功輸出了集合內容。愛掏網 - it200.com

除了ArrayList,其他繼承AbstractCollection的集合類也需要實現add方法。愛掏網 - it200.com例如,HashSet的add方法的定義如下:

public boolean add(E e) {
    return map.put(e, PRESENT)==null;
}

該方法將元素作為鍵值對加入到HashSet的底層HashMap中,并返回添加是否成功。愛掏網 - it200.com

再例如,LinkedList的add方法的定義如下:

public boolean add(E e) {
    linkLast(e);
    return true;
}

void linkLast(E e) {
    final Node<E> l = last;
    final Node<E> newNode = new Node<>(l, e, null);
    last = newNode;
    if (l == null)
        first = newNode;
    else
        l.next = newNode;
    size++;
    modCount++;
}

該方法將元素加入到LinkedList的尾部,并返回添加是否成功。愛掏網 - it200.com

在使用繼承了AbstractCollection的自定義集合類時,我們只需要實現即可使用這些集合類與Java內置集合類如ArrayList、HashSet、LinkedList 一樣。愛掏網 - it200.com通過實現add方法可以給集合類添加元素,實現size方法可以獲取集合大小。愛掏網 - it200.com

在Java中,AbstractCollection是所有集合類的抽象基類。愛掏網 - it200.com熟練掌握繼承它的子類中add方法的實現方式,能更加靈活地使用Java內置集合類或自定義集合類,提高代碼的可重用性、可擴展性。愛掏網 - it200.com

聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
發表評論
更多 網友評論0 條評論)
暫無評論

返回頂部

主站蜘蛛池模板: 古代np多夫h肉辣文| 美女裸身正面无遮挡全身视频| 131美女爽爽爽爱做视频| 97久视频精品视频在线老司机| √天堂中文在线最新版8下载| 一级黄色片大全| 一本岛一区在线观看不卡| 一级黄色免费网站| jizzjizzjizz中国| fulidown国产精品合集| 99re热视频这里只精品| 亚洲永久中文字幕在线| 亚洲成av人片在线看片| 亚洲国产日韩在线人成下载| 亚洲av第一网站久章草| 久久精品国产精品亚洲艾草网| 久久免费精品一区二区| 中文字幕国产专区| a毛看片免费观看视频| 又粗又硬又爽的三级视频| 黄网站色视频免费观看45分钟| 视频在线观看一区二区三区| 老子影院午夜伦手机不卡6080| 积积对积积的桶120分钟| 熟妇激情内射com| 欧美人妻一区二区三区| 日本三人交xxx69| 性感美女一级毛片| 国产馆手机在线观看| 国产成人精品日本亚洲直接| 国产一区二区在线|播放| 免费在线色视频| 亚洲国产精品一区二区九九| 久久国产视频网| www.91av.| 黄色永久免费网站| 精品国产国产综合精品| 欧美人与牲动交xxxx| 手机在线视频你懂的| 国产麻传媒精品国产AV| 国产在线jyzzjyzz免费麻豆|