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 採用的將對象存放在獨立的空間中,而且在每個空間中還保存下一個鏈接的索引 但是缺點就是查找非常麻煩 要叢第一個索引開始