当前位置: 首页 > news >正文

Java基础——集合进阶6

一、set系列集合

1.1 什么是 Set?—— 核心定义与特性

Set 是 Java 集合框架中的一个接口,代表“不包含重复元素”的集合。

✅ Set 的三大核心特性:

  1. 无序性(部分实现有序)

    • 大多数 Set 不保证元素的插入顺序(如 HashSet
    • 但有些实现是有序的(如 LinkedHashSet 按插入顺序,TreeSet 按自然/自定义顺序)
  2. 唯一性(不允许重复)

    • 判断重复依据:equals() + hashCode()
    • 如果两个对象 equals() 返回 true,则视为同一个元素
  3. 允许最多一个 null 元素

    • HashSet / LinkedHashSet:允许一个 null
    • TreeSet:默认不允许 null(会抛 NullPointerException),除非提供自定义比较器

set也是一个接口,collection中的方法set系列也可以用。存取的顺序不一致指的是存的时候是ABC,取的顺序不一定是ABC或者CBA。

package com.lkbhua.setDemo;import java.util.HashSet;
import java.util.Set;public class demo1 {public static void main(String[] args) {/* 利用set系列的集合,添加字符串,并使用多种方式遍历① 迭代器② 增强for③ Lambda表达式*/// 1、创建一个set集合的对象// set是一个接口,不能创建对象,只能创建其实现类的对象Set<String> set = new HashSet<>();// 2、添加元素// 注意:// 之前我们list系列的add()方法添加的时候也是有返回值的,但是list系列运行元素重复,所以返回值总是true// 现在set系列的集合,是不允许添加重复的元素,如果添加重复的元素,那么返回值是falseboolean r1 = set.add("lkbhua");boolean r2 = set.add("lkbhua");System.out.println(r1); // trueSystem.out.println(r2); // falseset.add("hello");set.add("world");set.add("java");System.out.println(set); //[world, java, hello, lkbhua]// 说明存和取的顺序是不一样的// 1、利用迭代器的方式进行遍历/*  Iterator<String> it = set.iterator();while(it.hasNext()){String s = it.next();System.out.println(s);}*/// 2、利用增强for进行遍历for(String s : set){System.out.println(s);}// 3、利用Lambda表达式进行遍历set.forEach(s -> System.out.println(s));}
}

1.2 Set与List对比

特性SetList
是否允许重复❌ 否✅ 是
是否有序部分实现有序✅ 是(按索引)
底层结构哈希表 / 红黑树 / 链表等数组 / 链表
访问方式迭代器遍历索引 or 迭代器
典型实现HashSetTreeSetArrayListLinkedList

💡 Set = “去重容器”,常用于:用户 ID 去重、标签去重、权限集合等

🌟 最后一句话总结
“Set 是 Java 集合中‘秩序与唯一’的守护者——它用不同的数据结构,在去重的基础上,为你提供无序、有序、排序、并发等多种选择!”

声明:

题目详细分析借鉴于通义AI

以上均来源于B站@ITheima的教学内容!!!

本人跟着视频内容学习,整理知识引用

http://www.dtcms.com/a/593145.html

相关文章:

  • 网站建设湛江分类信息网站如何做排名
  • 二十七、通信接口
  • 个人网站备案条件个人怎么做网页
  • SQL 相关子查询:性能杀手及其优化方法
  • 一文掌握UI自动化测试
  • 金融保险银行营销AI数字化转型培训讲师培训老师唐兴通讲金融银保团队险年金险市场销售
  • 质效飞跃,优测金融数智质效解决方案全新升级!
  • 智网案例精选|光联云网融合智驱,重塑金融数字化转型新格局
  • 自适应网站建设极速建站WordPress更新emoji
  • watch监视-ref对象类型数据
  • 网站建设的英语怎么做淘宝客网站做淘客
  • MBSE:数字模型重塑系统工程未来
  • 排序算法的相关讨论
  • HDFS 之 CacheAdmin
  • MySQL数据库07:分组查询与分类查询
  • 淄博网站公司高端网站建设公司怎么做推广
  • MCU的I/O防护
  • 碳纤维便携式气象站:轻量化设计,随时随地掌握气象数据
  • 华为-AI智算网络学习-2
  • K8S RD: Kubernetes从核心调度到故障排查、网络优化与日志收集指南
  • Java 项目里的那些坑
  • 【读书笔记】NVIDIA DGX
  • 岑溪网站开发工作室宁波网站制作公司费用价格
  • 揭阳智能模板建站海口百度seo公司
  • 智能SQL优化工具 PawSQL 月度更新 | 2025年10月
  • 烟台市网站建设用电脑怎么做原创视频网站
  • Total PDF Converter v6.5.0.356.0 电脑PDF多功能转换器
  • 【Android】MVVM实战:仿Launcher加载与应用过滤
  • seowhy什么意思丹阳seo公司
  • 质量智能革命:SPC软件助力中国制造驶入高质量发展快车道