Java中Collection和Collections的區(qū)別
java.util.Collection
是一個集合接口,集合類的頂級接口。它提供了對集合對象進行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實現(xiàn)。Collection接口的意義是為各種具體的集合提供了最大化的統(tǒng)一操作方式,其直接繼承接口有List與Set。
Collection是最基本集合接口,它定義了一組允許重復的對象。Collection接口派生了兩個子接口Set和List,分別定義了兩種不同的存儲方式,如下
- Set接口繼承于Collection接口,它沒有提供額外的方法,但實現(xiàn)了Set接口的集合類中的元素是無序且不可重復。
- List接口繼承于Collection接口,但是與Set接口恰恰相反,List接口的集合類中的元素是對象有序且可重復。
List 接口有兩個重要的實現(xiàn)類 ArrayList 和 LinkedList
Map接口Map也是接口,但沒有繼承Collection接口。
該接口描述了從不重復的鍵到值的映射。Map接口用于維護鍵/值對(key/value)
Map接口有兩個重要的實現(xiàn)類:
- HashMap:中文叫散列表,基于哈希表實現(xiàn),特點就是鍵值對的映射關系。一個key對應一個Value。HashMap中元素的排列順序是不固定的。更加適合于對元素進行插入、刪除和定位。
- TreeMap:基于紅黑樹實現(xiàn)。TreeMap中的元素保持著某種固定的順序。更加適合于對元素的順序遍歷。
Iterator接口Iterator接口,在C#里有例外一種說法IEnumerator,他們都是集合訪問器,用于循環(huán)訪問集合中的對象。 所有實現(xiàn)了Collection接口的容器類都有iterator方法,用于返回一個實現(xiàn)了Iterator接口的對象。Iterator對象稱作迭代器,Iterator接口方法能以迭代方式逐個訪問集合中各個元素,并可以從Collection中除去適當?shù)脑亍?/p>
java.util.Collections
是一個包裝類(工具類/幫助類)。
它包含有各種有關集合操作的靜態(tài)多態(tài)方法。此類不能實例化,就像一個工具類,用于對集合中元素進行排序、搜索以及線程安全等各種操作,服務于Java的Collection框架。
Collections類里面包括動態(tài)、有序、可變大小的一維數(shù)組Vector與ArrayList。
兩者唯一的差別是:vector自帶線程互斥,多個線程對其讀寫會拋出異常,而arraylist則允許多個線程讀寫,其他部分是一模一樣的。
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表示從結尾加入元素:" + vector); System.out.println("size()能求出vector的所含元素的個數(shù):" + vector.size()); vector.remove(1); System.out.println("remove(1)表示刪去第1個元素,由于計數(shù)從0開始,也就是2.06這個元素:" + vector); vector.remove(vector.lastElement()); System.out.println("刪去最后一個元素的vector為:" + vector); vector.add(0, 1.8888); System.out.println("在第0個位置加入1.8888這個元素:" + vector); vector.set(0, "a"); System.out.println("把第0個位置這個元素改為a:" + vector); }
從以上代碼中可以看出,vector 的各種操作更便捷??梢栽谌我馕恢貌迦朐?,也可以不用遍歷數(shù)組就能夠用一個方法刪除指定位置的元素。
到此這篇關于Java中Collection和Collections的區(qū)別的文章就介紹到這了,更多相關Java Collection Collections內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- java.util.Collections類—emptyList()方法的使用
- 淺談Java中Collections.sort對List排序的兩種方法
- Java使用Collections.sort()排序的方法
- java安全之CommonsCollections4詳解
- Java中的Collections類的使用示例詳解
- Java中Collections.sort的使用
- Java的可變參數(shù)與Collections類的功能示例解析
- Java中Collection與Collections的區(qū)別詳解
- Java Collection和Collections的區(qū)別
- Java中的集合工具類Collections詳解
- Java中Collections.sort()排序方法舉例詳解
相關文章
使用java實現(xiàn)telnet-client工具分享
這篇文章主要介紹了使用java實現(xiàn)telnet-client工具,需要的朋友可以參考下2014-03-03