集合

(排序规则:就是实现Comparable<T>接口,实现接口的抽象方法compartTo(T o))
(八大基本元素对应的类都有排序规则)
掌握:
List(接口)
ArrayList(实现类)(实际开发用的多)
(查询多)(底层为数组)

LinkedList(实现类)
(更新多)(底层为链表)

相同点
1.功能相同
2.顺序与加入顺序相同(顺序一定)
3.有下标,可手动排序
4.同一元素可加入多次
5.元素可无排序规则,有规则的可手动sort()排序,无规则的不能手动sort()方法
6.可使用Collections.sort(list)方法(顺序)排序(以ASCII码排序)
Collections.reverse(list);(倒序排序)
Collections.shuffle(list);(洗牌)
必要条件:list所属类必须实现Comparable接口且要实现其抽象方法compare(T o);
compare(T o);方法是用于实现排序规则的
(这是一个回调方法,当前对象、参数所代表的对象,共两个对象)

不同点:
ArrayList 
底层为数组,适用于查询
LinkedList
底层为链表,适用于数据更新(修改,添加,删除)

这两个实现类都只有List接口的抽象方法的实现-->完全可以使用List去引用




Set(接口)
        HashSet(实际开发用的多)
        TreeSet
1. 相同点
1)没有下标
2)方法相同(功能不同)
3)不可手动排序
4)元素顺序与加入顺序无关
5)同一元素不可加入多次
2. 不同点
1)HashSet:
元素顺序不可测,与加入顺序无关(与数学上的集合概念一样),
对元素无要求,
底层是Hash算法,所以查询速度快(没有ArrayList快)
2)TreeSet:
元素顺序与元素的排序规则有关,
对元素有要求,即要求元素必须有排序规则,
底层算法是树,查询慢,插入快



Map(接口)
        HashMap
        TreeMap
(两个的底层与Set中的一样,实际上HashSet的底层是HashMap,HashMap的底层是Hash算法;
TreeSet的底层是TreeMap,TreeMap的底层是二叉树)

1. 相同点
        1)元素都是键值对
2)没有下标
3)方法相同(功能不同)
4)不可手动排序
5)元素顺序与加入顺序无关
6)同一元素不可加入多次

2. 不同点
1)HashMap:
元素顺序不可测,与加入顺序无关(与数学上的集合概念一样),
对元素无要求,
底层是Hash算法,所以查询速度快(没有ArrayList快)
2)TreeMap:
元素顺序与元素的键的排序规则有关,
对元素的键有要求,即要求元素的键必须有排序规则,
底层算法是树,查询慢,插入快




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值