程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java 集合框架 相關問題 整理

Java 集合框架 相關問題 整理

編輯:關於JAVA
 

一、Collections和Collection的區別

  1. java.util.Collection 是一個集合接口。它提供了對集合對象進行基本操作的通用接口方法。Collection接口在Java 類庫中有很多具體的實現。Collection接口的意義是為各種具體的集合提供了最大化的統一操作方式。
  2. java.util.Collections 是一個包裝類。它包含有各種有關集合操作的靜態多態方法。此類不能實例化,就像一個工具類,服務於Java的Collection框架。

 

二、Map與Collection的關系

    Collection中存儲了一組對象,而Map存儲鍵值對。兩者沒有繼承關系。

三、Hashtable與HashMap的區別

  1. Hashtable的方法是同步的,HashMap則是非同步的,所以在多線程場合要手動同步HashMap,這個區別就像Vector和ArrayList一樣。
  2. Hashtable不允許null值(key和value都不可以),HashMap允許null值(key和value都可以)。
  3. Hashtable比HashMap多一個elements方法用於遍歷。
  4. Hashtable使用Enumeration,HashMap使用Iterator。
  5. 哈希值的使用不同,Hashtable直接使用對象的hashCode,而HashMap重新計算hash值,而且用與代替求模。
  6. Hashtable中hash數組默認大小是11,增加的方式是 old*2+1。HashMap中hash數組的默認大小是16,而且一定是2的指數。

四、Java中有哪些集合的接口

  1. Collection(接口,集合)
    ├List(接口,列表,有序,可以重復,可以為null)
    │├ArrayList(類,非同步,基於Array,適合查詢)
    │├LinkedList(類,非同步,基於雙向鏈表,適合增刪)
    │└Vector(類,同步,基於Array,性能比ArrayList差,適合查詢)
    │ └Stack(類)
    ├Set(接口,集,基於Map,不能重復,最多一個null)
    │├HashSet(類)
    ││└LinkedHashSet(類)
    │└SortedSet(接口)
    │ └TreeSet(類)
    └Queue(接口)
     └Deque(接口)
  2. Map(接口,映射,無序,鍵值對)
    ├Hashtable(類,同步,用Enumeration遍歷,不推薦,不能為null)
    ├HashMap(類,非同步,用Iterater遍歷,推薦,可以為null)
    │├LinkedHashMap(類)
    ├WeakHashMap(類,key弱引用,無引用時回收,可以為null)
    └SortedMap(接口)
     └TreeMap(類)
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved