容器继承结构

来源:互联网 发布:java中构造方法实例 编辑:程序博客网 时间:2024/05/21 08:41

容器结构图:

Collection继承相关图
Collection继承相关
几个注意点:
1. 线程安全

  ArrayList、HashSet/LinkedHashSet、PriorityQueue、LinkedList是线程不安全的,可以使用synchronized关键字,或者类似下面的方法解决:

List list = Collections.synchronizedList(new ArrayList(…));

  1. clone()

      ArrayList、LinkedList、HashMap/LinkedHashMap、TreeSet的clone()是浅拷贝,元素的引用和拷贝前相同;PriorityQueue的clone()继承自Object。

  2. foreach

      在for(Element e : collection)中:

      collection == null,直接抛异常;

      容器内容为空,即刚刚被new出来,里面什么也没有,直接跳过循环;

      容器中放了null(如果允许的话),则将这个null取出并赋值给e,执行循环中的语句。

  3. null对象

      List可以放无限多个,set只能放一个。EnumSet、PriorityQueue是不能放null的。这个null也在计数中。所以放进去null用foreach取出来时需要判空。
      
    Map继承相关图
    这里写图片描述

    转载部分出处 http://www.cnblogs.com/wuyuegb2312

0 0