Java Collections框架

2016-10-23  本文已影响0人  A_Coder

Java Collections框架中包含了大量集合接口以及这些接口的实现类和操作它们的算法(例如排序、查找、反转、替换、复制、取最小元素、去最大元素),主要提供了List(列表)、Queue(队列)、Set(集合)、Stack(栈)和Map(映射表,用于存放键值对)等数据结构。其中,List、Queue、Set、Stack都继承自Collection接口。

Collection框架.png

迭代器(Iterator)
迭代器(Iterator)是一个对象,它的工作室遍历并选择序列中的对象,它提供了一种访问一个容器(container)对象的各个元素,而又不必暴露该对象内部细节的方法。通过迭代器,开发人员不需要了解容器底层的结构,就可以实现对容器的遍历。
迭代器的是由主要有以下3个方面注意事项:

public class IteratorTest{
    public static void main(String []args){
        List<String> ll = new LinkedList<String>();
        ll.add("first");
        ll.add("second");
        ll.add("third");
        for(Iterator<String> iter = ll.iterator();iter.hasNext();){
             String str = iter.next();
             System.out.println(str);
        }
    }
}

注:


ArrayList、Vector和LinkedList的区别


HashMap、HashTable、TreeMap和WeakHashMap区别
Map是用来存储键值对的数据结构,通过对象进行索引,用来索引的对象叫做key,其对应的对象叫做value。
Hash是一个最常用的Map,它根据键的HashCode值存储数据,根据键可以直接获取它的值,具有很快的访问数据。区别:

HashMap里面存入的键值对取出时没有固定顺序,随机的。在Map中插入、删除和定位元素,HashMap是最好的选择。由于TreeMap实现了SortMap接口,能够把它保存的记录根据根据键排序,取出来是排序后的键值对,如果需要按自然顺序或自定义顺序遍历键,使用TreeMap。

WeakHashMap与HashMap类似,二者不同之处在于WeakHashMap中的key采用的是“弱引用”的方式,只要WeakHashMap中的key不再被外部引用,它就可以被垃圾回收器回收。而HashMap中key采用的是“强引用的方式”,当HashMap中的key没有被外部引用时,只有在这个key从HashMap中删除后,才可以被垃圾回收器回收。
注:


上一篇 下一篇

猜你喜欢

热点阅读