0928Java面試知識點準備

  1. List三個子集的特點?
    LinkedList線性鏈表集合,增刪快,查詢慢.
    ArrayLiST動態數組集合,查詢快,增刪慢.

  2. List,Set,Map之間的區別?
    List集合對象元素有序可重複,Set集合對象元素無序不可重複.Map集合無序,key不可重複,value可重複.List和Set存儲的單列數據.而Map存儲的是雙列數據.

  3. List,Set,Map的實現類?
    List集合的實現類包括LinkedList,ArrayList,Vector.
    Map集合的實現類包括HashMap,LinkedHashMap(繼承自HashMap)按照放入的順序排序.HashTable線程安全集合.ConcurrentHashMap。
    Set集合的實現類包含HashSet(底層由HashMap實現,不可放入重複的值),TreeSet.LinkedHashSet(繼承自HashSet集合,底層由LinkedHashMap實現.)

  4. HashMap和HashTable的區別?
    HashMap非線程安全,效率高.key value可以爲空.
    HashTable線程安全,效率低,key value鍵值對不可以爲空.否則會在插入數據的時候報錯.

  5. List a=new ArrayList();與ArrayList a=nwe ArrayList();之間的區別在哪裏?
    主要利用java中多態的特性,能夠基於父類創建子類對象實例.向上造型.能夠基於當前類創建該類對象實例.第一種的話屬於類的對象實例,所以ArrayList中的部分方法是不能使用的,而第二種由於ArrayList繼承自LIst所以不僅ArrayList的集合可以用,父類List中的方法也可以用.

java中的多線程和併發庫

  1. 傳統使用Thread類和Runnable接口創建線程的方式?
    通過創建類繼承Thread類,重寫run方法.
    通過實現Runnable接口,實現其中的run抽象方法.
    還有就是定時器任務如Timer+TimerTask創建定時器任務.同時上面的Thread類實際上是實現Runnable接口的,實際上實現的方法都是Runnable接口中的run方法.

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