Collection 接口和 Collections 类

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

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

    三个 没有

  3. List 、 Set 、 Map 三个接口有什么特点 ?
    1.List以特定的索引(有顺序的存放)来存放元素,可以有重复的元素

    2.Set存放元素是无序的,而且不可重复

    3.Map保存键值对的映射,映射关系可以是一对一(键值)或者多对一,需要注意到的是:键无序不可重复,值可以重复

  4. 请简述哈希表(散列表)
    哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也
    就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。
    这个映射函数叫做散列函数,存放记录的数组叫做散列表。

  1. 以下哪个集合接口支持通过字符串主键检索对象 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 );
         }
     }
    }
    

    7 abc def def abc def

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

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

    for( 集合元素类型 i : list ) {

    System.out.println(i)

    }

    for( 集合元素类型 i : Set ) {

    System.out.println(i)

    }

for (Map.Entry m : map01.entrySet()) {
    System.out.println(m);
}
        while (i.hasNext()) {
            Object o = i.next();
            System.out.print(o.toString());
        }
    }
   }
  1. Vector、ArrayList 和 LinkedList 有什么区别 ?

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

  2. Arrays.ArrayList 和 java.util.ArrayList 有什么区别 ?
    ArrayList是List接口实现类
    Arrays.ArrayList 没有add()方法的,修改元素是通过之前传过来的数组进行修改

  3. Hashtable和HashMap的区别

1 Hashtable继承自Dictionary类 ,而HashMap实现了Map接口
2 Hashtable的方法是同步的,而HashMap的方法不是,消耗一定度资源要增加一些步骤控制增加了处理过程,Hashtable不允许null值(Key和Value都不允许)。
3 HashMap重速度,轻安全,是线程的非安全,HashMap允许null值(Key和Value都允许)需要程序员自己管理线程的同步问题**

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

    两次

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

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

  3. 请写出循环 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);
}

15. 以下哪个集合接口支持元素排序     A

    A.Collection

    B.Set

    C.List

    D.Map

    

你可能感兴趣的:(Collection 接口和 Collections 类)