有序VS无序(Java基础语法)

前言:Set相当于集合(唯一),Map相当于映射(键对值)

一、 无序 (Unordered)
  • 核心定义: 元素的排列顺序与添加顺序元素大小都无关,不可预测,不可依赖,就好比薛定的的猫一样,你把1,2,3放进去之后,它可能会把顺序打乱,也可能不会,你不输出出来,你也不知道他是怎么排序的。

  • 代表: HashSet, HashMap

  • 关键优势: 性能最高效。


Plaintext 模拟:
输入顺序: add(20), add(10), add(30)

复制代码
// HashSet 最终状态 (一种可能的混乱结果):
[10, 30, 20]

二、 有序 (Ordered)

分为以下两种完全不同的"有序":

  • 核心定义: 严格保持元素被添加时的先后顺序,忠实记录操作历史。

  • 代表: LinkedHashSet, LinkedHashMap, 所有 List (如 ArrayList)

  • 关键优势: 需要去重但又不能打乱原始序列。


Plaintext 模拟:
输入顺序: add(20), add(10), add(30)

复制代码
// LinkedHashSet 最终状态 (严格等于输入顺序):
[20, 10, 30]

  • 核心定义: 集合自动 根据元素自身的大小指定规则进行排序。

  • 代表: TreeSet, TreeMap

  • 关键优势: 集合始终保持有序状态,便于查找和范围操作。


Plaintext 模拟:
输入顺序: add(20), add(10), add(30)

复制代码
// TreeSet 最终状态 (按数字从小到大自动排序):
[10, 20, 30]
相关推荐
vx-程序开发16 小时前
springboot旅游推介平台---附源码24175
java·spring boot·python·spring cloud·eclipse·django·idea
艾莉丝努力练剑17 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
小蒜学长17 小时前
“喵汪联盟”宠物领养系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·宠物
程序员黑豆17 小时前
Java字符串常量池完全指南:原理、intern()方法与性能优化最佳实践
java·前端·ai编程
AI人工智能+电脑小能手17 小时前
大白话说Java设计模式-14-适配器模式(业务实战篇)
java·设计模式·适配器模式·系统兼容·多渠道对接
xbgRS20 小时前
springboot的自动装配
java·spring boot
嘻哈∠※1 天前
0061基于 SpringBoot 的投稿与稿件处理系统设计与实现
java·spring boot·后端
白狐_7981 天前
408数据结构第8章:排序②——性质对比秒杀、场景选择与外部排序
java·数据结构·算法
zander2581 天前
LeetCode 84:柱状图中的最大矩形——单调栈如何确定左右边界
java·数据结构·算法
码匠许师傅1 天前
【C++ 面试真题】聊聊 C++ 的拷贝构造与拷贝赋值
java·c++·面试