集合总结

集合总结:
什么是集合?集合是一个容器,存放的是对象的引用,集合中只能存储对象。
集合的优、缺点?
优点:可以自动扩张,不需要设置存储长度。
缺点:性能相比较数组来说比较低,因为集合的底层操作也是数组,所以进行包裹后性能就会变低。


位置:java.util.* 包下;
分类
单值:
Collection(接口)
    | 
    |---- List(接口)
    |        |----- ArrayList  *                特点:有下标、可重复、初始容量(10个)、可以使用普通的for循环遍历、非线程安全、JDK 1.2提出的、
    |        |                                         有序插入(和数组一样按照插入的顺序排列)、可以为null
    |        |----- LinkedList                 特点:链表形式存储、有序插入(和数组一样按照插入的顺序排列)、可以为null、插入的效率高、读取的速度低
    |        |                                     对两端可以很方便的操做、在做新增和删除的时候效率很高、线程安全。
    |        |----- Vector                      特点:线程安全、可重复、初始容量(10个)、比ArrayList性能低、比较老的类(保留类)、有下标、可以为null、JDK 1.0提出的.
    |
    |
    |---- Set(接口/去重)
    |        |----- HashSet       *            特点:乱序的、允许为null、去重(对象去重的时候:要重写equals()/hashCode()方法)、非线程安全、        
    |        |----- LinkedHashSet            特点:链表形式存储、允许为null、去重、插入元素有序、非线程安全、性能较高。
    |        |----- SortedSet
    |                |--- NavigableSet
    |                        |--- TreeSet  *    特点:排序(对象排序两种方法:1) 实现Comparable接口、重写它的compareTo方法; 
    |                                                              2) 实现Comparator接口、重写它的compare方法)、默认的是升序、

双值(映射关系):
Map(双值的超级接口)
    |
    |------HashMap        *                    特点:无序存放、键值对的存在出现、允许Key为null、Key值去重(覆盖)、value可以重复、效率高、非线程安全、通常是根据Key得到value、JDK1.2推出    
    |
    |------Hashtable                        特点:无序存放、键值对的存在出现、不能为null、Key值去重(覆盖)、value可以重复、效率低、线程安全的、jdk1.0退出、属于保留类
    |
    |--------SortedMap
    |            |-----NavigableMap
    |                        |--- TreeMap  * 特点:排序、类似于TreeSet与他不同、按照Key来进行排序。对象排序两种方法:
    |                                                              1) 实现Comparable接口、重写它的compareTo方法; 
    |                                                              2) 实现Comparator接口、重写它的compare方法)、默认的是升序。

遍历(循环取出)方式:
List  ->  普通的for循环、迭代器、foreach
Set   ->  Iterator迭代器、foreach
Map   ->  Iterator迭代器(也是结合entrySet使用)、entrySet、keySet、values(只能取到value值),前4种循环方式都是结合foreach来使用;

解决常用集合的非线程安全方法:
java.util.Collections 中的 
        List  ->  synchronizedList(List<T> list)
        Map   ->  synchronizedMap(Map<T> map)
        Set   ->  synchronizedSet(Set<T> set)
        
什么是工具类: 就是提供开发者便利操作的一个类的集合。换句话说:就是提供方便的
        


 

转载于:https://my.oschina.net/u/3292038/blog/869013

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值