day19集合之 LinkedList Set的使用以及底层实现

1集合

1.1 LinkedList

1.1.1 基本使用

        

其他的方法跟差不多

查询修改效率低因为需要一个个找

添加删除高因为是双向链表能保存前后节点的信息

1.1.2 底层实现

        

静态内部类 节点类

保存上一个节点 下一个节点 还有信息

添加都是这一个方法

I 表示的是最后一个节点的地址

删除都是这个方法

1.2 Set和排序

        Set特性 无序不重复

        无序 指的是添加顺序不保证有序

        TreeSet 底层是TreeMap TreeMap底层是红黑树 元素会按照一定格式自动排序

        数字 默认升序

        字符串 按照每一位的ASCII码值排序

        Date 按照日期排序

        HashSet 底层是HashMap HashMap底层是散列表

        HashSet是Map中的key部分

1.2.1 TreeSet

        

没有修改跟查询功能因为没有索引

不能添加不是一个类型的元素是因为 compareTo方法如果不是一个类型的就无法添加

果被添加元素没有实现comparable接口那 会在compare方法中无法强转为Comparable类型

会报错

当我们创建集合对象的时候构造方法会自动设置comparator为null

但是通过匿名内部类在带参构造方法时候传入实现Comparator的子类时候会让comparator不为null

从而实现优先进行comparator的compare方法

1.3 List排序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值