Java中HashSet和LinkedHashSet的常用方法示例详解

 更新时间:2025年12月02日 16:34:29   作者:柒.梧.  
本文主要介绍了Java中HashSet和LinkedHashSet的常用方法,包括添加、删除、检查元素、获取大小、遍历和转换为数组等操作,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

一.HashSet集合

①.add(Object o):向Set集合中添加元素,不允许添加重复数据。
②.size():返回Set集合中的元素个数

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>(); //调用HashSet无参构造方法——>创建HashMap对象并给map全局变量。
        set.add("qq");
        set.add("bb");
        System.out.println(set);
        System.out.println(set.size());
    }
}

注意:不会按照保存的顺序存储数据(顺序不定),遍历时不能保证下次结果和上次相同。且向HashSet集合中添加元素,HashSet add方法实质是map全局变量调用了put方法,将数据存到了key,因为HashMap的 key不允许,所以HashSet添加的元素也不允许重复。

③.remove(Object o): 删除Set集合中的obj对象,删除成功返回true,否则返回false。
④.isEmpty():如果Set不包含元素,则返回 true。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        System.out.println(set.isEmpty());
        System.out.println(set.remove("bb"));
        System.out.println(set);
    }
}

⑤.clear(): 移除此Set中的所有元素。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        System.out.println(set);
        set.clear();
        System.out.println(set);
    }
}

⑥.iterator():返回在此Set中的元素上进行迭代的迭代器。

public static void main(String[] args) {
    HashSet<String> set = new HashSet<String>();
    set.add("qq");
    set.add("bb");
    Iterator<String> ite =set.iterator();
    while(ite.hasNext())
    {
        System.out.println(ite.next());
    }
}

⑦.contains(Object o):判断集合中是否包含obj元素。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        System.out.println(set.contains("qq"));
    }
}

⑧:加强for循环遍历Set集合。

public class Test {
    public static void main(String[] args) {
        HashSet<String> set = new HashSet<String>();
        set.add("qq");
        set.add("bb");
        for (String name : set) {   //使用foreach进行遍历。
            System.out.println(name);
        }
    }
}

二.LinkedHashSet集合

1. 添加元素

使用 add() 方法添加元素。
如果元素已存在,则不会重复添加。

linkedHashSet.add("Apple");
linkedHashSet.add("Banana");
linkedHashSet.add("Cherry");
linkedHashSet.add("Apple"); // 重复元素,不会添加
System.out.println(linkedHashSet); // 输出: [Apple, Banana, Cherry]

2. 删除元素

使用 remove() 方法删除指定元素。
使用 clear() 方法清空所有元素。

linkedHashSet.remove("Banana");
System.out.println(linkedHashSet); // 输出: [Apple, Cherry]
linkedHashSet.clear();
System.out.println(linkedHashSet); // 输出: []

3. 检查元素是否存在

使用 contains() 方法检查是否包含指定元素。

boolean containsApple = linkedHashSet.contains("Apple");
System.out.println("Contains Apple: " + containsApple); // 输出: Contains Apple: true

4. 获取大小

使用 size() 方法获取集合中元素的数量。

int size = linkedHashSet.size();
System.out.println("Size: " + size); // 输出: Size: 2

5. 遍历 LinkedHashSet

使用 for-each 循环遍历。
使用 Iterator 遍历。

// 使用 for-each 循环遍历
for (String fruit : linkedHashSet) {
    System.out.println(fruit);
}
// 使用 Iterator 遍历
Iterator<String> iterator = linkedHashSet.iterator();
while (iterator.hasNext()) {
    System.out.println(iterator.next());
}

6. 转换为数组

使用 toArray() 方法将 LinkedHashSet 转换为数组。

 String[] array = linkedHashSet.toArray(new String[0]);
for (String s : array) {
    System.out.println(s);
}

7. 其他常用方法

isEmpty(): 检查 LinkedHashSet 是否为空。
retainAll(): 保留与指定集合相同的元素。
removeAll(): 删除与指定集合相同的元素。

LinkedHashSet<String> fruits = new LinkedHashSet<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
LinkedHashSet<String> toRetain = new LinkedHashSet<>();
toRetain.add("Apple");
toRetain.add("Cherry");
fruits.retainAll(toRetain); // 只保留 Apple 和 Cherry
System.out.println(fruits); // 输出: [Apple, Cherry]
fruits.removeAll(toRetain); // 删除 Apple 和 Cherry
System.out.println(fruits); // 输出: []

到此这篇关于Java中HashSet和LinkedHashSet的常用方法的文章就介绍到这了,更多相关Java HashSet和LinkedHashSet内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java selenium 操作浏览器实例

    java selenium 操作浏览器实例

    本文主要介绍java selenium 操作浏览器,这里整理了相关资料,并附示例代码,有需要的小伙伴可以参考下
    2016-08-08
  • MyBatis入门学习教程-MyBatis快速入门

    MyBatis入门学习教程-MyBatis快速入门

    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架,这篇文章主要给大家分享MyBatis的一篇快速入门教程
    2021-06-06
  • SpringBoot读取资源目录中JSON文件的方法实例

    SpringBoot读取资源目录中JSON文件的方法实例

    最近做项目遇到需要将json类型的配置文件引用到项目中,已经将读取json文件的方法封装成工具类,下面这篇文章主要给大家介绍了关于SpringBoot读取资源目录中JSON文件的相关资料,需要的朋友可以参考下
    2023-04-04
  • Spring事务注解如何确保你的应用数据的一致性

    Spring事务注解如何确保你的应用数据的一致性

    Spring事务注解用于确保电商平台下单过程中数据一致性,通过ACID原则、传播行为、隔离级别和回滚配置管理数据库操作,合理设置属性及拆分事务方法可提升系统稳定性与可靠性,本文介绍Spring事务注解如何确保你的应用数据的一致性,感兴趣的朋友一起看看吧
    2025-07-07
  • springboot项目实现多数据源配置使用dynamic-datasource-spring-boot-starter的操作步骤

    springboot项目实现多数据源配置使用dynamic-datasource-spring-boot-starter

    这篇文章主要介绍了springboot项目实现多数据源配置使用dynamic-datasource-spring-boot-starter,本文分步骤结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • SpringMVC中的HandlerMapping详解

    SpringMVC中的HandlerMapping详解

    这篇文章主要介绍了SpringMVC中的HandlerMapping详解,HandlerMapping是请求映射处理器,也就是通过请求的url找到对应的逻辑处理单元(Controller),注意这里只是建立请求与Controller的映射关系,最终的处理是通过HandlerAdapt来进行处理的,需要的朋友可以参考下
    2023-09-09
  • 轻松掌握Java桥接模式

    轻松掌握Java桥接模式

    这篇文章主要帮助大家轻松掌握Java桥接模式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • dubbo如何设置连接zookeeper权限

    dubbo如何设置连接zookeeper权限

    这篇文章主要介绍了dubbo如何设置连接zookeeper权限问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Java 中的 xx ≠ null 是什么新语法

    Java 中的 xx ≠ null 是什么新语法

    Java中null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。本文给大家分享Java 中的 xx ≠ null 是什么新语法,感兴趣的朋友一起看看吧
    2021-06-06
  • Java基础之TreeMap详解

    Java基础之TreeMap详解

    这篇文章主要介绍了Java基础之TreeMap详解,文中有非常详细的代码示例,对正在学习java基础的小伙伴们有非常好的帮助,需要的朋友可以参考下
    2021-04-04

最新评论