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
降序
- Comparetor里面的compare(T o1, T o2) {} ;
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); 用比较器进行排序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)