Java中的TreeSet retainAll()方法示例

Java中的TreeSet retainAll()方法示例

在Java中,TreeSet是一种基于红黑树(Red-Black tree)实现的有序集合。它提供了许多有用的函数来操作集合元素,其中之一就是retainAll()方法。这个方法用来取两个集合的交集,即保留两个集合中共同存在的元素,并删除其他元素。下面我们将通过示例代码来详细了解TreeSetretainAll()方法。

retainAll()方法

retainAll()方法的定义如下:

public boolean retainAll(Collection<?> c)

该方法的参数是另一个集合c,它会将调用方法的集合和c集合的交集保存在调用方法的集合中,并返回一个布尔值表示是否修改了调用方法的集合。

例如,如果调用一个名为treeSet1TreeSet对象的retainAll()方法,将treeSet2作为参数传递,那么treeSet1中仅包含与treeSet2集合中相同的元素。若返回值为true则表示treeSet1被修改,否则未修改。

示例代码

下面我们将通过示例代码来详细了解TreeSetretainAll()方法。

import java.util.TreeSet;

public class TreeSetDemo {

    public static void main(String[] args) {
        // 创建第一个TreeSet
        TreeSet<Integer> treeSet1 = new TreeSet<Integer>();
        treeSet1.add(1);
        treeSet1.add(2);
        treeSet1.add(3);
        treeSet1.add(4);

        // 创建第二个TreeSet
        TreeSet<Integer> treeSet2 = new TreeSet<Integer>();
        treeSet2.add(3);
        treeSet2.add(4);
        treeSet2.add(5);
        treeSet2.add(6);

        // 调用retainAll()方法,获取两个TreeSet的交集,并修改treeSet1
        boolean result = treeSet1.retainAll(treeSet2);

        // 输出结果
        System.out.println("是否修改treeSet1:" + result);
        System.out.println("treeSet1:" + treeSet1.toString());
        System.out.println("treeSet2:" + treeSet2.toString());
    }

}

上述代码中,我们首先创建了两个TreeSet对象treeSet1treeSet2,并将不同的元素添加到它们中间。 然后我们调用了treeSet1retainAll()方法,并传递了treeSet2作为参数。

执行完毕后,我们输出了treeSet1treeSet2和方法返回的布尔结果。

程序的输出结果如下所示:

是否修改treeSet1:true
treeSet1:[3, 4]
treeSet2:[3, 4, 5, 6]

由于retainAll()方法在treeSet1中保存了和treeSet2相同的元素,因此treeSet1在程序中被修改,返回值为true。而且两个集合的交集是{3, 4},因此输出结果为:

treeSet1:[3, 4]
treeSet2:[3, 4, 5, 6]

总结

在本篇文章中,我们详细介绍了TreeSetretainAll()方法,并通过示例代码演示了该方法的使用方式。retainAll()方法可以用于获取两个集合的交集,可以在TreeSet中删除一些不需要的元素。我们希望通过本文的解释和示例代码,您已经掌握了使用TreeSet retainAll()方法来操作有序集合的技巧。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程