java set集合相关介绍和方法使用操作

简介: java set集合相关介绍和方法使用操作

在Java中,Set是一种不允许元素重复的集合,它是基于哈希表实现的。Set接口继承自Collection接口,常见的实现类有HashSet、LinkedHashSet和TreeSet。

HashSet是基于哈希表实现的Set,它不保证元素的顺序,存储和访问速度较快。HashSet的add、contains和remove方法的时间复杂度都是O(1)。

LinkedHashSet是基于哈希表和链表实现的Set,它按照元素插入的顺序维护了一个双向链表,所以它保证了元素的顺序。LinkedHashSet的add、contains和remove方法的时间复杂度都是O(1)。

TreeSet是基于红黑树实现的Set,它对元素进行了排序。TreeSet的add、contains和remove方法的时间复杂度都是O(log N)。

Set的常用方法包括:

  • add(element):向Set中添加元素。
  • remove(element):从Set中删除元素。
  • contains(element):判断Set中是否包含某个元素。
  • size():返回Set中元素的个数。
  • isEmpty():判断Set是否为空。
  • iterator():返回一个迭代器,用于遍历Set中的元素。

示例代码如下:

Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
set.add("orange");

System.out.println(set.contains("apple")); // true

set.remove("banana");

System.out.println(set.size()); // 2

for (String element : set) {
   
    System.out.println(element);
}

输出结果为:

true
2
apple
orange

注意,Set不允许有重复元素,所以如果向Set中添加已经存在的元素,添加操作会被忽略,不会抛出异常。

相关文章
|
6天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
34 3
|
1天前
|
存储 Java 索引
【JAVA】HashMap的put()方法执行流程
【JAVA】HashMap的put()方法执行流程
|
3天前
|
Java
Java 与垃圾回收有关的方法
Java 与垃圾回收有关的方法
|
4天前
|
存储 Java C++
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
Java集合篇之深度解析Queue,单端队列、双端队列、优先级队列、阻塞队列
17 0
|
4天前
|
存储 Java 测试技术
一文搞清楚Java中的方法、常量、变量、参数
在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:**常量与变量**,我们在数学和物理学中已经接触过变量的概念了,在Java中的变量就是在程序运行过程中可以改变其值的量。
14 0
|
8天前
|
存储 Java
Java动态转发代理IP的实现方法
Java动态转发代理IP的实现方法
24 11
|
Java Android开发
WSDL2Java操作指南
1. 安装JDK1.5, 配置系统环境变量:     下载安装JDK后, 设置环境变量:     JAVA_HOME=C:\Program Files\Java\jdk1.5.0_02     Path=%Path%;%JAVA_HOME%\bin(这里的%Path%指你系统已经有的一系列配置)     CLASSPATH=%JAVA_HOME%\lib  2. 下载axis,
1377 0
|
3天前
|
数据采集 存储 Java
高德地图爬虫实践:Java多线程并发处理策略
高德地图爬虫实践:Java多线程并发处理策略
|
5天前
|
安全 Java 调度
Java线程:深入理解与实战应用
Java线程:深入理解与实战应用
24 0
|
1天前
|
设计模式 安全 Java
【JAVA】Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式
【JAVA】Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式