欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Collection和Collections的區(qū)別

 更新時(shí)間:2024年04月15日 09:42:32   作者:Wangwq.  
Collection是一個(gè)集合接口,集合類的頂級接口,Collections是一個(gè)包裝類,本文主要介紹了Java中Collection和Collections的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下

java.util.Collection

是一個(gè)集合接口,集合類的頂級接口。它提供了對集合對象進(jìn)行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實(shí)現(xiàn)。Collection接口的意義是為各種具體的集合提供了最大化的統(tǒng)一操作方式,其直接繼承接口有List與Set。

在這里插入圖片描述

Collection是最基本集合接口,它定義了一組允許重復(fù)的對象。Collection接口派生了兩個(gè)子接口Set和List,分別定義了兩種不同的存儲方式,如下

  • Set接口繼承于Collection接口,它沒有提供額外的方法,但實(shí)現(xiàn)了Set接口的集合類中的元素是無序且不可重復(fù)
  • List接口繼承于Collection接口,但是與Set接口恰恰相反,List接口的集合類中的元素是對象有序且可重復(fù)

List 接口有兩個(gè)重要的實(shí)現(xiàn)類 ArrayList 和 LinkedList

Map接口Map也是接口,但沒有繼承Collection接口。
該接口描述了從不重復(fù)的鍵到值的映射。Map接口用于維護(hù)鍵/值對(key/value)

Map接口有兩個(gè)重要的實(shí)現(xiàn)類:

  • HashMap:中文叫散列表,基于哈希表實(shí)現(xiàn),特點(diǎn)就是鍵值對的映射關(guān)系。一個(gè)key對應(yīng)一個(gè)Value。HashMap中元素的排列順序是不固定的。更加適合于對元素進(jìn)行插入、刪除和定位。
  • TreeMap:基于紅黑樹實(shí)現(xiàn)。TreeMap中的元素保持著某種固定的順序。更加適合于對元素的順序遍歷。

Iterator接口Iterator接口,在C#里有例外一種說法IEnumerator,他們都是集合訪問器,用于循環(huán)訪問集合中的對象。 所有實(shí)現(xiàn)了Collection接口的容器類都有iterator方法,用于返回一個(gè)實(shí)現(xiàn)了Iterator接口的對象。Iterator對象稱作迭代器,Iterator接口方法能以迭代方式逐個(gè)訪問集合中各個(gè)元素,并可以從Collection中除去適當(dāng)?shù)脑亍?/p>

java.util.Collections

是一個(gè)包裝類(工具類/幫助類)。
它包含有各種有關(guān)集合操作的靜態(tài)多態(tài)方法。此類不能實(shí)例化,就像一個(gè)工具類,用于對集合中元素進(jìn)行排序、搜索以及線程安全等各種操作,服務(wù)于Java的Collection框架。

Collections類里面包括動態(tài)、有序、可變大小的一維數(shù)組Vector與ArrayList。
兩者唯一的差別是:vector自帶線程互斥,多個(gè)線程對其讀寫會拋出異常,而arraylist則允許多個(gè)線程讀寫,其他部分是一模一樣的。

Vector的使用:

public static void Vectortest() {
	Vector<Object> vector = new Vector<Object>();
	vector.add(1.6);
	vector.add(2.06);
	vector.add(1);
	System.out.println("單純的add表示從結(jié)尾加入元素:" + vector);
	System.out.println("size()能求出vector的所含元素的個(gè)數(shù):" + vector.size());
	vector.remove(1);
	System.out.println("remove(1)表示刪去第1個(gè)元素,由于計(jì)數(shù)從0開始,也就是2.06這個(gè)元素:" + vector);
	vector.remove(vector.lastElement());
	System.out.println("刪去最后一個(gè)元素的vector為:" + vector);
	vector.add(0, 1.8888);
	System.out.println("在第0個(gè)位置加入1.8888這個(gè)元素:" + vector);
	vector.set(0, "a");
	System.out.println("把第0個(gè)位置這個(gè)元素改為a:" + vector);
}

從以上代碼中可以看出,vector 的各種操作更便捷??梢栽谌我馕恢貌迦朐?,也可以不用遍歷數(shù)組就能夠用一個(gè)方法刪除指定位置的元素。

到此這篇關(guān)于Java中Collection和Collections的區(qū)別的文章就介紹到這了,更多相關(guān)Java Collection Collections內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)圖形卡片排序游戲

    java實(shí)現(xiàn)圖形卡片排序游戲

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)圖形卡片排序游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • 淺談Java線程間通信方式

    淺談Java線程間通信方式

    這篇文章主要為大家詳細(xì)介紹了Java線程間的通信方式,以代碼結(jié)合文字的方式來討論線程間的通信,感興趣的朋友可以參考一下
    2021-11-11
  • Java?Io?File文件操作基礎(chǔ)教程

    Java?Io?File文件操作基礎(chǔ)教程

    這篇文章主要介紹了Java?Io?File文件操作,在這里需要注意File只能訪問文件以及文件系統(tǒng)的元數(shù)據(jù)。如果你想讀寫文件內(nèi)容,需要使用FileInputStream、FileOutputStream或者RandomAccessFile,需要的朋友可以參考下
    2022-05-05
  • java中封裝的實(shí)現(xiàn)方法詳解

    java中封裝的實(shí)現(xiàn)方法詳解

    在本篇文章里我們給大家詳細(xì)分享了關(guān)于java中封裝的實(shí)現(xiàn)方法,有需要的朋友們跟著學(xué)習(xí)下。
    2018-10-10
  • 不知道面試會不會問Lambda怎么用(推薦)

    不知道面試會不會問Lambda怎么用(推薦)

    這篇文章主要介紹了Lambda表達(dá)式用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 淺談JVM之使用JFR解決內(nèi)存泄露

    淺談JVM之使用JFR解決內(nèi)存泄露

    內(nèi)存泄露的主要原因就是java中的對象生命周期有長有短。如果長生命周期的對象引用了短生命周期的對象,就有可能造成事實(shí)上的內(nèi)存泄露。本文將介紹JVM之使用JFR解決內(nèi)存泄露。
    2021-06-06
  • 使用java實(shí)現(xiàn)telnet-client工具分享

    使用java實(shí)現(xiàn)telnet-client工具分享

    這篇文章主要介紹了使用java實(shí)現(xiàn)telnet-client工具,需要的朋友可以參考下
    2014-03-03
  • Java練習(xí)之潛艇小游戲的實(shí)現(xiàn)

    Java練習(xí)之潛艇小游戲的實(shí)現(xiàn)

    這篇文章主要和大家分享一個(gè)Java小練習(xí)——利用Java編寫一個(gè)潛艇小游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-03-03
  • Java詳細(xì)分析講解HashMap

    Java詳細(xì)分析講解HashMap

    在java開發(fā)中,HashMap是最常用、最常見的集合容器類之一,下面一起溫故一下,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 編寫Spring MVC控制器的14個(gè)技巧(小結(jié))

    編寫Spring MVC控制器的14個(gè)技巧(小結(jié))

    這篇文章主要介紹了編寫Spring MVC控制器的14個(gè)技巧,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論