19集合2

1. Set: 无序去重集合

无放入顺序,去重集合

  • boolean add(E); 元素有可能添加不进去

2 HashSet: hashcode散列集合

用hash算法和equals方法判断 两个元素是否相同。


 this.hash == key.hash && ( this.equasl(key) )

3 TreeSet: 排序树集合: 有(排序)序集合

  • 去重,有排序集合。

  • Comparable自然排序接口: 覆盖compareTo(T t) 方法;( this - t)就是升序,反之降序;

    • 很多类都有compareTo(); 正数是大于, 0是等于, 负数是小于。
  • TreeSet底层是TreeMap.

在这里插入图片描述

            do {
                parent = t;
                cmp = k.compareTo(t.key);
                if (cmp < 0)
                    t = t.left;
                else if (cmp > 0)
                    t = t.right;
                else
                    return t.setValue(value);
            } while (t != null);

Set: 去重和 无序(放入的顺序)

HashSet: equals和hashcode;

TreeSet: Comparable接口的compareTo方法; 有(排序)序

4. 比较器相关:

List的

  • sort(Comparetor)方法 : JDK8
    • Comparetor里面的compare(T o1, T o2) {} ; o1 - o2 升序,o2 - o1降序
 for(int i = destLow, p = low, q = mid; i < destHigh; i++) {
            if (q >= high || p < mid && c.compare(src[p], src[q]) <= 0)
                dest[i] = src[p++];
            else
                dest[i] = src[q++];
 }
  • Collections.sort(list); list的元素的 自然排序(Comparable)
  • Collections.sort(list, Comparetor); 用比较器进行排序

元素的 自然排序(Comparable)

  • Collections.sort(list, Comparetor); 用比较器进行排序
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值