• Java 中的 Set 集合


    以下是对 Java 中的 Set 接口中一些常用方法的介绍,并给出了相应的代码示例:

    添加元素

    boolean add(E e):向集合中添加指定的元素。如果该元素尚未存在于集合中,则添加它,并返回 true。如果集合已包含该元素,则添加操作不会改变集合,并返回 false。

    Set<String> set = new HashSet<>();  
    boolean added = set.add("apple"); // 添加元素"apple"  
    System.out.println("Element added: " + added); // 输出: Element added: true
    
    • 1
    • 2
    • 3

    boolean addAll(Collection c):将指定集合中的所有元素添加到此集合中。成功则返回 true。

    Set<String> set1 = new HashSet<>();  
    set1.add("apple");  
      
    Set<String> set2 = new HashSet<>();  
    set2.add("banana");  
    set2.add("cherry");  
      
    boolean allAdded = set1.addAll(set2); // 将set2的所有元素添加到set1中  
    System.out.println("All elements added: " + allAdded); // 输出: All elements added: true  
    System.out.println(set1); // 输出: [apple, banana, cherry]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    移除元素

    boolean remove(Object o):从此集合中移除指定元素(如果存在)。如果集合包含指定的元素,则移除它,并返回 true。否则,返回 false。

    Set<String> set = new HashSet<>();  
    set.add("apple");  
    set.add("banana");  
      
    boolean removed = set.remove("apple"); // 移除元素"apple"  
    System.out.println("Element removed: " + removed); // 输出: Element removed: true  
    System.out.println(set); // 输出: [banana]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    boolean removeAll(Collection c):移除此集合中那些也包含在指定集合中的所有元素。成功则返回 true。

    Set<String> set = new HashSet<>();  
    set.add("apple");  
    set.add("banana");  
    set.add("cherry");  
      
    Set<String> toRemove = new HashSet<>();  
    toRemove.add("banana");  
    toRemove.add("cherry");  
      
    boolean allRemoved = set.removeAll(toRemove); // 移除set中所有在toRemove中的元素  
    System.out.println("All elements removed: " + allRemoved); // 输出: All elements removed: true  
    System.out.println(set); // 输出: [apple]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    void clear():移除此集合中的所有元素(可选操作)。此调用返回后,集合将为空。

    Set<String> set = new HashSet<>();  
    set.add("apple");  
    set.add("banana");  
      
    set.clear(); // 移除集合中所有元素  
    System.out.println(set.isEmpty()); // 输出: true  
    System.out.println(set); // 输出: []
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    是否包含某元素

    boolean contains(Object o):如果此集合包含指定的元素,则返回 true。

    Set<String> set = new HashSet<>();  
    set.add("apple");  
      
    boolean containsApple = set.contains("apple"); // 检查集合是否包含元素"apple"  
    System.out.println("Contains apple: " + containsApple); // 输出: Contains apple: true
    
    • 1
    • 2
    • 3
    • 4
    • 5

    boolean containsAll(Collection c):如果此集合包含指定集合中的所有元素,则返回 true。

    Set<String> set = new HashSet<>();  
    set.add("apple");  
    set.add("banana");  
      
    Set<String> toCheck = new HashSet<>();  
    toCheck.add("apple");  
      
    boolean containsAll = set.containsAll(toCheck); // 检查集合是否包含toCheck中的所有元素  
    System.out.println("Contains all elements: " + containsAll); // 输出: Contains all elements:
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    交集

    使用 retainAll() 方法:

    import java.util.HashSet;  
    import java.util.Set;  
      
    public class SetIntersection {  
        public static void main(String[] args) {  
            Set<String> set1 = new HashSet<>();  
            set1.add("apple");  
            set1.add("banana");  
            set1.add("cherry");  
      
            Set<String> set2 = new HashSet<>();  
            set2.add("banana");  
            set2.add("cherry");  
            set2.add("date");  
      
            //求set1与set2的交集,交集保存在set1中
    		//retainAll:保留两者都有的
            set1.retainAll(set2);  
      
            System.out.println("Intersection: " + set1);  
            // 输出: Intersection: [banana, cherry]  
        }  
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    并集

    使用 addAll()方法

    补集

    使用 removeAll() 方法

  • 相关阅读:
    【力扣每日一题】1175. 质数排列
    机器学习-线性回归的各种操作代码
    LQ0139 油漆面积【枚举】
    IntelliJ IDEA cmd和idea Terminal查看java版本不一致
    Python包管理工具之pipenv
    a-select 下拉列表正常展示
    【案例实战】SpringBoot整合阿里云文件上传OSS
    一个实用的链接导航页的站点设计 支持自定义链接
    SQLite3 数据库学习(文章链接汇总)
    【JavaEE】HTTPS协议(对称加密、非对称加密、中间人攻击、证书)
  • 原文地址:https://blog.csdn.net/qq_44378854/article/details/137407194