21xrx.com
2025-03-21 09:47:56 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这个强大的工具,我们可以更加轻松高效地完成任务。

  
  

评论区

    相似文章