21xrx.com
2024-11-08 22:19:46 Friday
登录
文章检索 我的文章 写文章
Java中的Set:数据去重和集合运算必备工具
2023-06-14 20:51:58 深夜i     --     --
Java集合 Set接口 HashSet

文章正文:

在Java的集合框架中,Set是一种无序且不重复的集合类型,常用于数据去重和集合运算。本文将深入探讨Java中Set的使用方法以及常见的实现类。

在Java中,Set接口有以下几个实现类:

- HashSet:基于哈希表实现的Set,内部无序。

- LinkedHashSet:基于哈希表和链表实现的Set,内部有序。

- TreeSet:基于红黑树实现的有序Set。

下面是一个简单的使用HashSet去重的例子:


import java.util.HashSet;

public class SetDemo {

  public static void main(String[] args) {

    HashSet set = new HashSet ();

    set.add("apple");

    set.add("banana");

    set.add("orange");

    set.add("apple"); // 重复元素不会被添加进去

    System.out.println(set); // 输出 [orange, banana, apple]

  }

}

除了去重之外,Set还支持常见的集合运算,如并集、交集、差集等。下面是一个使用HashSet进行集合运算的例子:


import java.util.HashSet;

public class SetDemo2 {

  public static void main(String[] args) {

    HashSet set1 = new HashSet ();

    set1.add(1);

    set1.add(2);

    set1.add(3);

    set1.add(4);

    HashSet set2 = new HashSet ();

    set2.add(3);

    set2.add(4);

    set2.add(5);

    set2.add(6);

    // 求并集

    HashSet union = new HashSet (set1);

    union.addAll(set2);

    System.out.println("并集为:" + union); // 输出 [1, 2, 3, 4, 5, 6]

    // 求交集

    HashSet intersection = new HashSet (set1);

    intersection.retainAll(set2);

    System.out.println("交集为:" + intersection); // 输出 [3, 4]

    // 求差集

    HashSet difference = new HashSet (set1);

    difference.removeAll(set2);

    System.out.println("差集为:" + difference); // 输出 [1, 2]

  }

}

使用Set进行数据去重和集合运算是Java开发中的常见操作,有了Set这个强大的工具,我们可以更加轻松高效地完成任务。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复