java写的家谱_java常用集合族谱

Collection

集合Collection常常与Collections来问,其实他们不同,一个是所有集合的父接口(Collection),一个是工具类(Collections)提供一些静态方法。

Collection下的子孙关系如图:

rNmGEZULVPvSoQKD1xDSTUFkK9PND1x3Pz8bRdZv4CQlVQTx3OEYBles2YQUJNRDoUYFA64khoXoBCdUNJFTZIKEqiNMOF+hFsIBw2iZMIaEGAj0qEGg9MSRULyChuoGEKhskVAWhw4mhTcSQUAOBHhUItJ4YEqoK0PHE0CZiSKgKQocTQ5uIIaEGAj0qEGg9MSRUFaDjiaFNxJBQFYQOJ4Y2EUNCDQR6VCDQemJIqCpAxxNDm4ghoSoIHU4MbSKGhBoI9KhAoPXEkFBVgI4nhjYRQ0JVEDqcGNpEDAk1EOhRgUDriSGhqgAdTwxtIoaEqiB0ODG0iRgSaiDQowKB1hNDQlUBOp4Y2kQMCVVB6HBiaBMxJNRAoEcFAq0nhoSqAnQ8MbSJGBKqgtDhxNAmYkiogUCPCgRaTwwJVQXoeGJoEzFVE6oBoU3E0CZiPhxqaD0RtEkg0Hpich2PXmK9u2ygTcTQJmKyHGKeEyoAAAAAgJqQUAEAAACAL0ioAAAAAMAXJFQAAAAA4AsSKgAAAADwBQkVAAAAAPiChAoAAAAAfEFCBQAAAAC+IKECAAAAAF+QUAEAAACAL0ioAAAAAMAXJFQAAAAA4AsSKgAAAADwBQkVAAAAAPiChAoAAAAAfEFCBQAAAAC+IKECAAAAAF+QUAEAAACAL0ioAAAAAMAXJFQAAAAA4AsSKgAAAADw5f8Bmwd+Sigwr2EAAAAASUVORK5CYII=

1:List和Set 比较

他们都是继承Collection的子接口,List是有序存数据,底层是通过数组来实现的,这样提供了很好的遍历。Set是单链结构,关注的是存数据的唯一性(通过equal()来比较),无序。

2:Vector和ArrayList比较

他俩功能一样,但是Vector是线程安全的,运用了synchronized修饰,导致性能比ArrayList差。

3:ArrayList和LinkedList

LinkedList底层采用的是双向链表结构存储,适合增加和删除元素。而ArrayList采用的是数组的形势适合遍历元素,增删元素,速度比LinkedList要慢。

4:HashSet和TreeSet

他们都是无序,切元素唯一的。然而HashSet不关注元素的顺序,TreeSet实现Comparator接口,能按照实际顺序排序

5:LinkedHashSet和TreeSet

LinkedHashSet如果想按照插入数据时的顺序遍历出元素,则能采用此集合类。TreeSet是能按照自然顺序去排序。

6:HashMap和HashTable

HashMap是线程不安全的并且key可以为null且唯一 value可以为null ,HashTable是线程安全的,key和value都不允许为null

7:TreeMap和HashMap

HashMap不关注排序,而TreeMap的key实现了Comparator接口所以能实现自然排序,也可以自己在new的时候 重写这个compare()方法从而实现我们想要的顺序

附赠:Map是单独的,不是继承Collection 而且他们所有集合都有一个迭代器的方法进行迭代。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值