2021-05-16

  1. Collection 接口和 Collections 類都是做什么用的 ?

    Collection是集合類的頂級接口。它提供對集合對象進(jìn)行基本操作的通用接口方法。它的直接繼承接口有List,Set和Queue.
    Collections是一個包裝類。此類完全由在 collection 上進(jìn)行操作或返回 collection 的靜態(tài)方法組成。它不能被實例化,起到一個工具類的作用

  2. Collection 接口有幾個子接口 ?Map 接口有父接口么 ?

    三個子接口,List Set Queue 沒有

  3. List 、 Set 、 Map 三個接口有什么特點(diǎn) ?

    List接口繼承Collection接口,稱為有序集合,允許有重復(fù)的元素。

    Set接口常用類有HashSet和TreeSet,HashSet儲存順序為無序,TreeSet儲存順序為有序不允許元素的重復(fù)。
    
    Map接口用來處理建-值映射數(shù)據(jù)的儲存,可以儲存多個元素。
    
  4. 請簡述哈希表(散列表)

    根據(jù)關(guān)鍵碼值而直接進(jìn)行訪問得數(shù)據(jù)結(jié)構(gòu),通過把關(guān)鍵碼值映射到表中的一個位置來訪問記錄,以加快查找的速度。

  5. 以下哪個集合接口支持通過字符串主鍵檢索對象 A

    A.Map

    B.Set

    C.List

    D.Collection

  1. 以下哪些語句用于創(chuàng)建一個Map實例?D

    A.Map m = new Map();

    B.Map m = new Map(init capacity,increment capacity);

    C.Map m = new Map(new Collection());

    D.以上均不行

  2. 以下代碼的執(zhí)行結(jié)果是?

    public class Example {
    
     public static void main(String[] args) {
    
         String s1 = "abc";
         String s2 = "def";
         String s3 = "def";
    
         List<String> list = new ArrayList<String>();
         list.add(s1);
         list.add(s2);
         list.add(s3);
         
         for (String string : list) {
             System.out.println( string );
         }
         
         System.out.println("-------------------");
         
         Set<String> set = new HashSet<>();
         set.add(s1);
         set.add(s2);
         set.add(s3);
         
         for (String string : set) {
             System.out.println( string );
         }
     }
    }
    

    執(zhí)行結(jié)果 abc def def abc def

  3. 以下代碼執(zhí)行結(jié)果是?TreeMap和 HashMap 的區(qū)別是什么 ?

    執(zhí)行結(jié)果one =1 three = 3 two = 2 TreeMap 是有序的 HashMap是無序的**

    public class Example {
    
     public static void main(String[] args) {
    
         TreeMap<String, String> map = new TreeMap<String, String>();
         map.put("one", "1");
         map.put("two", "2");
         map.put("three", "3");
         displayMap(map);
    
     }
    
     static void displayMap(TreeMap map) {
    
         Collection<String> c = map.entrySet();
         Iterator<String> i = c.iterator();
    
         while (i.hasNext()) {
             Object o = i.next();
             System.out.print(o.toString());
         }
     }
    }
    
  4. Vector、ArrayList 和 LinkedList 有什么區(qū)別 ?

    ector是線程安全,性能比ArrayList要差 ArrayList重速度,輕安全,是線程的非安全,需要程序員自己管理線程的同步問題 .Vector和ArrayList有利于節(jié)約空間
    LinkedList是link的雙向數(shù)據(jù)列表,可當(dāng)作堆棧、隊列、雙端隊列。鏈表是一種在物理上非連續(xù)、非順序的數(shù)據(jù)結(jié)構(gòu),由若干節(jié)點(diǎn)node所組成

  5. Arrays.ArrayList 和 java.util.ArrayList 有什么區(qū)別 ?

    ArrayList是List接口實現(xiàn)類
    Arrays.ArrayList 沒有add()方法的,修改元素是通過之前傳過來的數(shù)組進(jìn)行修改

  6. Hashtable和HashMap的區(qū)別

    1 Hashtable繼承自Dictionary類 ,而HashMap實現(xiàn)了Map接口
    2 Hashtable的方法是同步的,而HashMap的方法不是,消耗一定度資源要增加一些步驟控制增加了處理過程,Hashtable不允許null值(Key和Value都不允許)。

  7. 分別使用 HashMap 和 List 以及數(shù)組統(tǒng)計數(shù)組中相同的值出現(xiàn)的次數(shù)

    兩次

    String[] array = {"abc" , "ABC" , "123" , "def" , "^_^" , "def" , "abc"};
    
  8. 請寫出 Iterator 迭代器的優(yōu)點(diǎn)

    java迭代器查找的唯一操作就是依靠調(diào)用next,而在執(zhí)行查找任務(wù)的同時,迭代器的位置也在改變.
    Iterator迭代器remove方法會刪除上次調(diào)用next方法返回的元素.這也意味之remove方法和next有著很強(qiáng)的依賴性.如果在 調(diào)用remove之前沒有調(diào)用next是不合法的 .這個接口衍生出了,java集合的迭代器.java集合的迭代器使用

  9. 請寫出循環(huán) List 、Set、Map 的代碼

       for( 集合元素類型  i : list ) {
    
         System.out.println(i)
    
         }  
    
          for( 集合元素類型  i : Set ) {
    
          System.out.println(i)
    
         }  
         for (Map.Entry<String,String> m : map01.entrySet()) {
        System.out.println(m);
    }
    
    
    
    
  1. 以下哪個集合接口支持元素排序 A

    A.Collection

    B.Set

    C.List

    D.Map

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容