java面试宝典--集合类

来源:互联网 发布:公务员网络课程 编辑:程序博客网 时间:2024/05/16 10:01

一.java容器

java容器类库一共有两种主要类型:Collection和Map。
分类图

Collection:
    1.List:将以特定次序存储元素。
          ArrayList:查询快,插入,删除,移动较慢
          LinkedList:插入,删除,移动较快;查询较慢
          Vector:1. Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于                         线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。 
                        2。当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%                         的大小,这样,ArrayList就有利于节约内存空间。

    2.Set:每个值只能保存一个对象,不能含有重复的元素
          HashSet:使用散列函数
          TreeSet:使用红黑树
          LinkedHashSet:使用链表结合散列函数

Map:
    1.HashMap:没有分类或者排序,它允许一个null键或者多个null值
    2.HashTable:类似与HashMap,但是它不允许null键或者null值。它也比HashMap慢,因为它是同步的
    3.TreeMap:适用于按自然顺序或自定义顺序遍历键(key)。  
           
遍历Map:
  
for (Map.Entry<String, Object> entry:map.entrySet()) {System.out.println(entry.getKey()+" =="+entry.getValue());}