java 中 集合類相關問題

1,Java中Collection和Collections的區別


java.util.Collection 是一個集合接口。它提供了對集合對象進行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實現。Collection接口的意義是爲各種具體的集合提供了最大化的統一操作方式。

java.util.Collections 是一個包裝類。它包含有各種有關集合操作的靜態多態方法。此類不能實例化,就像一個工具類,服務於Java的Collection框架。

2,List, Set, Map是否繼承自Collection接口? 


List,Set是 Map不是 


3,ArrayList和Vector的區別。 


一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的 

二.數據增長:當需要增長時,Vector默認增長爲原來一培,而ArrayList卻是原來的一半

4,HashMap和Hashtable的區別 


一.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是java 1.2引進的Map接口的一個實現 

二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的 

三.值:只有HashMap可以讓你將空值作爲一個表的條目的key或value

一些資料建議,當需要同步時,用Hashtable,反之用HashMap。但是,因爲在需要時,HashMap可以被同步,HashMap的功能比Hashtable的功能更多,而且它不是基於一個陳舊的類的,所以有人認爲,在各種情況下,HashMap都優先於Hashtable。 

關於Properties 


有時侯,你可能想用一個hashtable來映射key的字符串到value的字符串。dos、Windows和Unix中的環境字符串就有一些例子,如key的字符串path被映射到value的字符串C:\WINDOWS;C:\WINDOWS\system。Hashtables是表示這些的一個簡單的方法,但Java提供了另外一種方法。 

Java.util.Properties類是Hashtable的一個子類,設計用於String keys和values。Properties對象的用法同Hashtable的用法相象,但是類增加了兩個節省時間的方法,你應該知道。 

Store()方法把一個Properties對象的內容以一種可讀的形式保存到一個文件中。Load()方法正好相反,用來讀取文件,並設定Properties對象來包含keys和values。 

注意,因爲Properties擴展了Hashtable,你可以用超類的put()方法來添加不是String對象的keys和values。這是不可取的。另外,如果你將store()用於一個不包含String對象的Properties對象,store()將失敗。作爲put()和get()的替代,你應該用setProperty()和getProperty(),它們用String參數。


5,ArrayList 和LinkedList 的區別

ArrayList 採用的是數組形式來保存對象的,這種方式將對象放在連續的位置中,所以最大的缺點就是插入刪除時非常麻煩
LinkedList 採用的將對象存放在獨立的空間中,而且在每個空間中還保存下一個鏈接的索引 但是缺點就是查找非常麻煩 要叢第一個索引開始







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章