有序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]
相关推荐
小羊没烦恼!3 天前
微服务化的基石——持续集成
java·大数据·word·powerpoint·.net
俊昭喜喜里3 天前
java中的继承和多态的区别
java
小羊没烦恼!3 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
譕痕3 天前
JSONObject与JSONArray封装数据格式区别
java·json
胡写代码3 天前
别再前后端各写一套表单校验了
java·后端
小鱼能吃糖3 天前
缺陷修复总览 · mall电商项目:5类缺陷,1个病根,4个业务域
java·电商
此时不提桶,更待何时3 天前
01-06-A-JVM排查实战详解
java·jvm
vipxieliang3 天前
ValidX 在 DDD 领域驱动设计中的实践
java·spring boot
ba_pi3 天前
mysql 查询所有表名并授权
java
ProcessOn官方账号3 天前
java函数式编程--入门基础
java·编程·函数式编程