2021-05-16

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

    Collection是集合类的顶级接口。它提供对集合对象进行基本操作的通用接口方法。它的直接继承接口有List,Set和Queue.
    Collections是一个包装类。此类完全由在 collection 上进行操作或返回 collection 的静态方法组成。它不能被实例化,起到一个工具类的作用

  2. Collection 接口有几个子接口 ?Map 接口有父接口么 ?

    三个子接口,List Set Queue 没有

  3. List 、 Set 、 Map 三个接口有什么特点 ?

    List接口继承Collection接口,称为有序集合,允许有重复的元素。

    Set接口常用类有HashSet和TreeSet,HashSet储存顺序为无序,TreeSet储存顺序为有序不允许元素的重复。
    
    Map接口用来处理建-值映射数据的储存,可以储存多个元素。
    
  4. 请简述哈希表(散列表)

    根据关键码值而直接进行访问得数据结构,通过把关键码值映射到表中的一个位置来访问记录,以加快查找的速度。

  5. 以下哪个集合接口支持通过字符串主键检索对象 A

    A.Map

    B.Set

    C.List

    D.Collection

  1. 以下哪些语句用于创建一个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. 以下代码的执行结果是?

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

    执行结果 abc def def abc def

  3. 以下代码执行结果是?TreeMap和 HashMap 的区别是什么 ?

    执行结果one =1 three = 3 two = 2 TreeMap 是有序的 HashMap是无序的**

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

    ector是线程安全,性能比ArrayList要差 ArrayList重速度,轻安全,是线程的非安全,需要程序员自己管理线程的同步问题 .Vector和ArrayList有利于节约空间
    LinkedList是link的双向数据列表,可当作堆栈、队列、双端队列。链表是一种在物理上非连续、非顺序的数据结构,由若干节点node所组成

  5. Arrays.ArrayList 和 java.util.ArrayList 有什么区别 ?

    ArrayList是List接口实现类
    Arrays.ArrayList 没有add()方法的,修改元素是通过之前传过来的数组进行修改

  6. Hashtable和HashMap的区别

    1 Hashtable继承自Dictionary类 ,而HashMap实现了Map接口
    2 Hashtable的方法是同步的,而HashMap的方法不是,消耗一定度资源要增加一些步骤控制增加了处理过程,Hashtable不允许null值(Key和Value都不允许)。

  7. 分别使用 HashMap 和 List 以及数组统计数组中相同的值出现的次数

    两次

    String[] array = {"abc" , "ABC" , "123" , "def" , "^_^" , "def" , "abc"};
    
  8. 请写出 Iterator 迭代器的优点

    java迭代器查找的唯一操作就是依靠调用next,而在执行查找任务的同时,迭代器的位置也在改变.
    Iterator迭代器remove方法会删除上次调用next方法返回的元素.这也意味之remove方法和next有着很强的依赖性.如果在 调用remove之前没有调用next是不合法的 .这个接口衍生出了,java集合的迭代器.java集合的迭代器使用

  9. 请写出循环 List 、Set、Map 的代码

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

    A.Collection

    B.Set

    C.List

    D.Map

你可能感兴趣的:(2021-05-16)