哈希表
在哈希表中增删查改的时间复杂度都为 。
哈希表的简单实现
仅用一个数组来实现哈希表。数组中的每个空位称为桶(bucket),每个桶可存储一个键值对。因此,查询操作就是找到 key 对应的桶,并在桶中获取 value 。哈希函数的作用是将一个较大的输入空间映射到一个较小的输出空间。在哈希表中,输入空间是所有 key ,输出空间是所有桶(数组索引)。哈希函数的计算分为两步:
2025/7/24大约 13 分钟
在哈希表中增删查改的时间复杂度都为 。
仅用一个数组来实现哈希表。数组中的每个空位称为桶(bucket),每个桶可存储一个键值对。因此,查询操作就是找到 key 对应的桶,并在桶中获取 value 。哈希函数的作用是将一个较大的输入空间映射到一个较小的输出空间。在哈希表中,输入空间是所有 key ,输出空间是所有桶(数组索引)。哈希函数的计算分为两步:
/* 随机访问元素 */
int randomAccess(int[] nums) {
// 在区间 [0, nums.length) 中随机抽取一个数字
int randomIndex = ThreadLocalRandom.current().nextInt(0, nums.length);
// 获取并返回随机元素
int randomNum = nums[randomIndex];
return randomNum;
}
它描述了随着输入数据大小的增加,算法执行所需时间和空间的增长趋势。
迭代:“自下而上”地解决问题。从最基础的步骤开始,然后不断重复或累加这些步骤,直到任务完成。
Java 集合可分为 Collection 和 Map 两大体系:
单列数据集合
。
双列数据集合
。
字符串String类型本身是final声明的,意味着不能继承String。且String字符串是常量,它们的值在创建之后不能更改,因此一旦对字符串进行修改,就会产生新对象。