java面试-0215-HashMap有序吗?Comparable和Comparator区别?集合如何排序?

HashMap:无序,元素根据哈希值随机插入。遍历顺序不保证与插入顺序一致,且修改(如扩容)可能改变顺序

Comparable:

接口定义在类内部,compareTo(T o) 方法比较当前对象与另一对象。

修改类实现自然排序(如 String 的字母序)。

Comparator:

独立类实现,compare(T o1, T o2) 方法比较两个对象。

灵活定义外部排序规则,无需修改原类。

List: Collections.sort(list)(需元素实现 Comparable)或 Collections.sort(list, comparator)(自定义 Comparator)

Set:TreeSet 自动排序(基于 Comparable 或构造时传入 Comparator)

Map:TreeMap 按键自动排序(基于 Comparable 或构造时传入 Comparator)

其他转为 List 或 TreeSet/TreeMap 后排序

相关推荐
CAU界编程小白6 分钟前
数据结构系列之快速排序
数据结构·c++·算法
asom228 分钟前
互联网大厂Java求职面试实战:Spring Boot到Kubernetes的技术问答
java·spring boot·kubernetes·oauth2·电商·microservices·面试技巧
I_Jln20 分钟前
CountDownLatch:让多线程同步如此简单
java
虎子_layor20 分钟前
轻量级哈希扰动工具:Hashids,快速上手
java·spring
逻极21 分钟前
VS Code之Java 开发完全指南:从环境搭建到实战优化
java·开发语言
卡提西亚22 分钟前
一本通网站1130:找第一个只出现一次的字符
数据结构·c++·笔记·算法·一本通
Moe48824 分钟前
JDK动态代理和CGLIB动态代理源码解析
java·后端
月月玩代码25 分钟前
SLF4J,简单门面Java日志框架
java·开发语言
虎子_layor26 分钟前
号段模式(分布式ID)上手指南:从原理到实战
java·后端
lkbhua莱克瓦2428 分钟前
Java基础——集合进阶用到的数据结构知识点3
java·数据结构·github·平衡二叉树·avl