集合

1、数组与集合的区别:

  1)数组的长度不变,集合的长度是可变的;

  2)数组的所有元素都是同一类型,而集合可以存储不同类型的元素;

  3)数组可以存储值类型与引用类型,但是集合只能存储引用类型。

2、集合的分类(collection和map)

  collection(单值)分为list(有序、可重复)和set(无序、不可重复)

  map(键值对)

3、遍历集合的方法(iterator和foreach)

  1)Iterator iterator = list.iterator();

    while(iterator.hasnext()){

      System.out.println(iterator.next());

    }

  2)for(类型 元素名 : 集合名){

      //注意:此处只能读取,不能修改;若要修改,使用普通for循环

    }

4、实现List接口的一般三个类的区别

  1)ArrayList: 底层是数组,查询快,增删慢,线程不安全,效率高;

  2)LinkedList: 底层是链表,查询慢,增删块,线程不安全,效率高;

  3)Vector:  底层是数组,查询快,增删慢,线程安全,效率低。//一般不使用Vector,而是使用Collections.synchronizedList(new ArrayList<E>()); 来转成线程安全

5、遍历set一般不使用foreach;

   遍历map一般方法:

          1)首先找到所有的key,遍历key,根据key找value。用到keyset()方法。

          2)直接找到所有的value。用到values()方法。

          3)找出所有的键值对,然后再遍历。用到Set<Map.Entry<String,String>> setName = mapName.entrySet();

6、HashMap与HashTable的区别:

  1)HashMap允许使用null键值,而HashTable的键值不能为null;

  2)HashMap线程不安全,效率高,而HashTable线程安全,效率低。

原文地址:https://www.cnblogs.com/Jansens520/p/6743806.html