當前位置:首頁 » 編程語言 » 集合框架java

集合框架java

發布時間: 2022-06-14 18:42:10

java集合框架是什麼意思

java集合框架是為表示和操作集合而規定的一種統一的標準的體系結構,任何集合框架都包含三大塊內容,分別是對外的介面、介面的實現和對集合運算的演算法

② JAVA集合框架的介紹

Java,是由Sun公司於1995年推出的編程語言。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平台、動態的Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器現在均支持Java applet。集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容:對外的介面、介面的實現和對集合運算的演算法。

③ 求大神,java的集合框架是什麼意思

Java平台提供了一個全新的集合框架。「集合框架」主要由一組用來操作對象的介面組成。不同介面描述一組不同數據類型。

Java 2集合框架圖

集合介面:6個介面(短虛線表示),表示不同集合類型,是集合框架的基礎。

抽象類:5個抽象類(長虛線表示),對集合介面的部分實現。可擴展為自定義集合類。

實現類:8個實現類(實線表示),對介面的具體實現。

在很大程度上,一旦您理解了介面,您就理解了框架。雖然您總要創建介面特定的實現,但訪問實際集合的方法應該限制在介面方法的使用上;因此,允許您更改基本的數據結構而不必改變其它代碼。

· Collection 介面是一組允許重復的對象。

· Set 介面繼承 Collection,但不允許重復,使用自己內部的一個排列機制。

· List 介面繼承 Collection,允許重復,以元素安插的次序來放置元素,不會重新排列。

· Map介面是一組成對的鍵-值對象,即所持有的是key-value pairs。Map中不能有重復的key。擁有自己的內部排列機制。

· 容器中的元素類型都為Object。從容器取得元素時,必須把它轉換成原來的類型。

Java 2簡化集合框架圖

集合介面

1.Collection 介面

用於表示任何對象或元素組。想要盡可能以常規方式處理一組元素時,就使用這一介面。

(1) 單元素添加、刪除操作:

boolean add(Object o):將對象添加給集合

boolean remove(Object o): 如果集合中有與o相匹配的對象,則刪除對象o

(2) 查詢操作:

int size() :返回當前集合中元素的數量

boolean isEmpty() :判斷集合中是否有任何元素

boolean contains(Object o) :查找集合中是否含有對象o

Iterator iterator() :返回一個迭代器,用來訪問集合中的各個元素

(3) 組操作 :作用於元素組或整個集合

boolean containsAll(Collection c): 查找集合中是否含有集合c 中所有元素

boolean addAll(Collection c) : 將集合c 中所有元素添加給該集合

void clear(): 刪除集合中所有元素

void removeAll(Collection c) : 從集合中刪除集合c 中的所有元素

void retainAll(Collection c) : 從集合中刪除集合c 中不包含的元素

(4) Collection轉換為Object數組 :

Object[] toArray() :返回一個內含集合所有元素的array

Object[] toArray(Object[] a) :返回一個內含集合所有元素的array。運行期返回的array和參數a的型別相同,需要轉換為正確型別。

④ 簡敘java的集合框架,常見集合的特點有哪些

集合主要有Collection和Map介面。
List特點:元素有放入順序,元素可重復
Map特點:元素按鍵值對存儲,無放入順序
Set特點:元素無放入順序,元素不可重復(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的,其位置其實是固定的)
List介面有三個實現類:LinkedList,ArrayList,Vector
LinkedList:底層基於鏈表實現,鏈表內存是散亂的,每一個元素存儲本身內存地址的同時還存儲下一個元素的地址。鏈表增刪快,查找慢
ArrayList和Vector的區別:ArrayList是非線程安全的,效率高;Vector是基於線程安全的,效率低
Set介面有兩個實現類:HashSet(底層由HashMap實現),LinkedHashSet
SortedSet介面有一個實現類:TreeSet(底層由平衡二叉樹實現)
Query介面有一個實現類:LinkList
Map介面有三個實現類:HashMap,HashTable,LinkeHashMap
HashMap非線程安全,高效,支持null;HashTable線程安全,低效,不支持null
SortedMap有一個實現類:TreeMap
其實最主要的是,list是用來處理序列的,而set是用來處理集的。Map是知道的,存儲的是鍵值對
set
一般無序不重復.map
kv
結構
list
有序

http://blog.csdn.net/vstar283551454/article/details/8682655
有用請採納,謝謝

⑤ Java集合框架的優點是什麼

集合框架的部分優點如下:
(1)使用核心集合類降低開發成本,而非實現我們自己的集合類。
(2)隨著使用經過嚴格測試的集合框架類,代碼質量會得到提高。
(3)通過使用JDK附帶的集合類,可以降低代碼維護成本。
(4)復用性和可操作性。

⑥ java集合框架中,包括哪些介面和類

Java集合類提供了一套設計良好的支持對一組對象進行操作的介面和類。Java集合類裡面最基本的介面有:
1、Collection:代表一組對象,每一個對象都是它的子元素。
2、Set:不包含重復元素的Collection。
3、List:有順序的collection,並且可以包含重復元素。
4、Map:可以把鍵(key)映射到值(value)的對象,鍵不能重復。

⑦ JAVA集合框架的總結

1.數組把對象和數字形式的下標聯系起來。它持有的是類型確定的對象,這樣提取對象的時候就不用再作類型傳遞了。它可以是多維的,也可以持有primitive。但是創建之後它的容量不能改了。
2.Collection持有單個元素,而Map持有相關聯的pair。
3.和數組一樣,List也把數字下標同對象聯系起來,你可以把數組和List想成有序的容器。List會隨元素的增加自動調整容量。但是List只能持有Objectreference,所以不能存放primitive,而且把Object提取出來之後,還要做類型傳遞。
4.如果要做很多隨機訪問,那麼請用ArrayList,但是如果要再List的中間做很多插入和刪除的話,就應該用LinkedList了。
5.LinkedList能提供隊列,雙向隊列和棧的功能。
6.Map提供的不是對象與數組的關聯,而是對象和對象的關聯。
HashMap看重的是訪問速度,而TreeMap看重鍵的順序,因而它不如HashMap那麼快。而LinkedHashMap則保持對象插入的順序,但是也可以用LRU演算法為它重新排序。
7.Set只接受不重復的對象。HashSet提供了最快的查詢速度。而TreeSet則保持元素有序。LinkedHashSet保持元素的插入順序。
8.沒必要再在新代碼里使用舊類庫留下來的Vector,Hashtable和Stack了。
容器類庫是你每天都會用到的工具,它能使程序更簡潔,更強大並且更高效。
隨著Java的進一步完善,它的功能和易用性也得到提高,我有理由相信Java在計算機語言中所佔的位置也會更加牢固,讓喜愛Java的人更加喜愛它。祝願Java一路順風!

⑧ java的集合框架是什麼意思

Java,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平台的總稱。用Java實現的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平台、動態的Web、Internet計算。從此,Java被廣泛接受並推動了Web的迅速發展,常用的瀏覽器現在均支持Java applet。集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容:對外的介面、介面的實現和對集合運算的演算法。

⑨ 什麼是java中的集合框架

集合框架是為表示和操作集合而規定的一種統一的標準的體系結構。任何集合框架都包含三大塊內容:對外的介面、介面的實現和對集合運算的演算法。
介面:即表示集合的抽象數據類型。介面提供了讓我們對集合中所表示的內容進行單獨操作的可能。
實現:也就是集合框架中介面的具體實現。實際它們就是那些可復用的數據結構。
演算法:在一個實現了某個集合框架中的介面的對象身上完成某種有用的計算的方法,例如查找、排序等。這些演算法通常是多態的,因為相同的方法可以在同一個介面被多個類實現時有不同的表現。事實上,演算法是可復用的函數。如果你學過C++,那C++中的標准模版庫(STL)你應該不陌生,它是眾所周知的集合框架的絕好例子。

熱點內容
如何改變vivo手機賬戶密碼 發布:2024-05-19 10:56:07 瀏覽:376
sql的length函數 發布:2024-05-19 10:55:15 瀏覽:545
資料庫管理系統設計報告 發布:2024-05-19 10:49:50 瀏覽:684
linux怎麼將驅動編譯進內核 發布:2024-05-19 10:23:47 瀏覽:768
c語言讀程序題 發布:2024-05-19 10:13:52 瀏覽:675
新的安卓手機怎麼樣下載微信 發布:2024-05-19 10:05:06 瀏覽:879
加9的演算法 發布:2024-05-19 10:04:15 瀏覽:264
新名圖配置怎麼樣 發布:2024-05-19 09:31:30 瀏覽:95
php獲取子節點 發布:2024-05-19 09:21:18 瀏覽:160
php生成html 發布:2024-05-19 09:20:24 瀏覽:795