容器继承结构

容器结构图:

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值