集合框架练习题

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

    Collections 是java提供给Set,List,Map等集合操作的工具类

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

    三个 List Queue Set 无

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

    List 有序集合可以精确控制列表中每个元素的插入位置,通过整数索引获取列表中的元素,允许出现重复的值 List 列表 linkedList 链表

    Set 特点是去重,

    Map 是一种把键对象和值对象进行关联的容器

  4. 请简述哈希表(散列表)

    这种数据结构提供了键(key)和值(value)的映射关系,只要给出key可以高效查找到匹配的value

  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.以上均不行

  1. 以下代码的执行结果是?

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

    abc

    def

    def


    abc

    def

  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());
         }
     }
    }
    one=1three=3two=2
    TreeMap 是对键按序存放 
    HashMap 用到了哈希吗算法,可以快速查找键
    
  3. Vector、ArrayList 和 LinkedList 有什么区别 ?

    vector 是线程安全的,同步的,性能比较差

    ArrayList 重速度,轻安全,是非线程安全的‘

    LinkedList 是一个链表结构,可当作堆栈,队列,双端队列0

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

    ArrayList是List接口的实现类

  5. Hashtable和HashMap的区别

    前者方法是同步的,后者方法是不同步的

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

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

    方便了对java容器(collection)进行遍历 可以边遍历边删除

  2. 请写出循环 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);
    }
    
  3. 以下哪个集合接口支持元素排序 A

    A.Collection

    B.Set

    C.List

    D.Map

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容