Collection 接口和 Collections 類(lèi)

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

  2. Collection 接口有幾個(gè)子接口 ?Map 接口有父接口么 ?

    三個(gè) 沒(méi)有

  3. List 、 Set 、 Map 三個(gè)接口有什么特點(diǎn) ?
    1.List以特定的索引(有順序的存放)來(lái)存放元素,可以有重復(fù)的元素

    2.Set存放元素是無(wú)序的,而且不可重復(fù)

    3.Map保存鍵值對(duì)的映射,映射關(guān)系可以是一對(duì)一(鍵值)或者多對(duì)一,需要注意到的是:鍵無(wú)序不可重復(fù),值可以重復(fù)

  4. 請(qǐng)簡(jiǎn)述哈希表(散列表)
    哈希表(Hash table,也叫散列表),是根據(jù)關(guān)鍵碼值(Key value)而直接進(jìn)行訪(fǎng)問(wèn)的數(shù)據(jù)結(jié)構(gòu)。也
    就是說(shuō),它通過(guò)把關(guān)鍵碼值映射到表中一個(gè)位置來(lái)訪(fǎng)問(wèn)記錄,以加快查找的速度。
    這個(gè)映射函數(shù)叫做散列函數(shù),存放記錄的數(shù)組叫做散列表。

  1. 以下哪個(gè)集合接口支持通過(guò)字符串主鍵檢索對(duì)象 A

    A.Map

    B.Set

    C.List

    D.Collection

  1. 以下哪些語(yǔ)句用于創(chuàng)建一個(gè)Map實(shí)例? 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 );
         }
     }
    }
    

    7 abc def def abc def

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

    8 one =1 three = 3 two = 2 TreeMap 是有序的 HashMap是無(wú)序的

    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();
    
    

    for( 集合元素類(lèi)型 i : list ) {

    System.out.println(i)

    }

    for( 集合元素類(lèi)型 i : Set ) {

    System.out.println(i)

    }

for (Map.Entry<String,String> m : map01.entrySet()) {
    System.out.println(m);
}
        while (i.hasNext()) {
            Object o = i.next();
            System.out.print(o.toString());
        }
    }
   }
  1. Vector、ArrayList 和 LinkedList 有什么區(qū)別 ?

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

  2. Arrays.ArrayList 和 java.util.ArrayList 有什么區(qū)別 ?
    ArrayList是List接口實(shí)現(xiàn)類(lèi)
    Arrays.ArrayList 沒(méi)有add()方法的,修改元素是通過(guò)之前傳過(guò)來(lái)的數(shù)組進(jìn)行修改

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

1 Hashtable繼承自Dictionary類(lèi) ,而HashMap實(shí)現(xiàn)了Map接口
2 Hashtable的方法是同步的,而HashMap的方法不是,消耗一定度資源要增加一些步驟控制增加了處理過(guò)程,Hashtable不允許null值(Key和Value都不允許)。
3 HashMap重速度,輕安全,是線(xiàn)程的非安全,HashMap允許null值(Key和Value都允許)需要程序員自己管理線(xiàn)程的同步問(wèn)題**

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

    兩次

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

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

  3. 請(qǐng)寫(xiě)出循環(huán) List 、Set、Map 的代碼

  for( 集合元素類(lèi)型  i : list ) {

  System.out.println(i)

  } 

  for( 集合元素類(lèi)型  i : Set ) {

  System.out.println(i)

  } 
for (Map.Entry<String,String> m : map01.entrySet()) {
    System.out.println(m);
}

15. 以下哪個(gè)集合接口支持元素排序     A

    A.Collection

    B.Set

    C.List

    D.Map

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

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

  • Collection 接口和 Collections 類(lèi)都是做什么用的 ?Collection:集合的抽象數(shù)據(jù)類(lèi)型...
    瓊瓊i閱讀 155評(píng)論 0 0
  • Collection 接口和 Collections 類(lèi)都是做什么用的 ?Collection:是集合類(lèi)的上層接口...
    屈浩宇閱讀 323評(píng)論 0 0
  • 1.Collection:集合的抽象數(shù)據(jù)類(lèi)型 Collections:包含有關(guān)集合操作的靜態(tài)方法 2.3個(gè),Lis...
    NikT閱讀 148評(píng)論 0 0
  • . Collection 接口和 Collections 類(lèi)都是做什么用的 ? **Collection:集合...
    fa7ef6c69c5a閱讀 266評(píng)論 0 0
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂(lè)有人憂(yōu)愁,有人驚喜有人失落,有的覺(jué)得收獲滿(mǎn)滿(mǎn)有...
    陌忘宇閱讀 8,879評(píng)論 28 54

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