-
List三個子集的特點?
LinkedList線性鏈表集合,增刪快,查詢慢.
ArrayLiST動態數組集合,查詢快,增刪慢. -
List,Set,Map之間的區別?
List集合對象元素有序可重複,Set集合對象元素無序不可重複.Map集合無序,key不可重複,value可重複.List和Set存儲的單列數據.而Map存儲的是雙列數據. -
List,Set,Map的實現類?
List集合的實現類包括LinkedList,ArrayList,Vector.
Map集合的實現類包括HashMap,LinkedHashMap(繼承自HashMap)按照放入的順序排序.HashTable線程安全集合.ConcurrentHashMap。
Set集合的實現類包含HashSet(底層由HashMap實現,不可放入重複的值),TreeSet.LinkedHashSet(繼承自HashSet集合,底層由LinkedHashMap實現.) -
HashMap和HashTable的區別?
HashMap非線程安全,效率高.key value可以爲空.
HashTable線程安全,效率低,key value鍵值對不可以爲空.否則會在插入數據的時候報錯. -
List a=new ArrayList();與ArrayList a=nwe ArrayList();之間的區別在哪裏?
主要利用java中多態的特性,能夠基於父類創建子類對象實例.向上造型.能夠基於當前類創建該類對象實例.第一種的話屬於類的對象實例,所以ArrayList中的部分方法是不能使用的,而第二種由於ArrayList繼承自LIst所以不僅ArrayList的集合可以用,父類List中的方法也可以用.
java中的多線程和併發庫
-
傳統使用Thread類和Runnable接口創建線程的方式?
通過創建類繼承Thread類,重寫run方法.
通過實現Runnable接口,實現其中的run抽象方法.
還有就是定時器任務如Timer+TimerTask創建定時器任務.同時上面的Thread類實際上是實現Runnable接口的,實際上實現的方法都是Runnable接口中的run方法.