📅  最后修改于: 2023-12-03 15:01:56.910000             🧑  作者: Mango
在Java中,SortedSet
是一个接口,它继承自Set
接口,并添加了对元素进行排序的功能。SortedSet
中的retainAll()
方法可以用于保留SortedSet
中与另一个集合交集相同的元素,即去除两个集合不同的元素。
SortedSet
的retainAll()
方法的语法如下:
public boolean retainAll(Collection<?> c)
其中,c
是一个集合对象,它包含了要保留的元素。
retainAll()
方法返回一个boolean
类型的值,表示SortedSet
是否发生了变化。如果SortedSet
中的元素与给定集合c
相同,则返回false
,否则返回true
。
下面是一个简单的SortedSet retainAll()
方法的示例。在这个示例中,我们创建了两个SortedSet
对象set1
和set2
,并使用addAll()
方法向其中添加元素。然后,我们调用了retainAll()
方法,保留了set1
和set2
中共同存在的元素,并使用foreach
循环输出了结果。
import java.util.SortedSet;
import java.util.TreeSet;
public class SortedSetDemo {
public static void main(String[] args) {
SortedSet<String> set1 = new TreeSet<String>();
set1.addAll(Set.of("apple", "banana", "orange", "pear", "kiwi"));
System.out.println("set1: " + set1);
SortedSet<String> set2 = new TreeSet<String>();
set2.addAll(Set.of("apple", "banana", "grape", "watermelon", "tomato"));
System.out.println("set2: " + set2);
boolean result = set1.retainAll(set2);
System.out.println("Result: " + result);
System.out.println("set1: " + set1);
for (String element : set1) {
System.out.println(element);
}
}
}
运行这个程序,将会输出以下结果:
set1: [apple, banana, kiwi, orange, pear]
set2: [apple, banana, grape, tomato, watermelon]
Result: true
set1: [apple, banana]
apple
banana
在这个示例中,我们可以看到,set1
和set2
中共同存在的元素是apple
和banana
,因此retainAll()
方法保留了这两个元素,并返回了true
作为方法的返回值。最后,我们使用foreach
循环遍历set1
中的元素,并输出它们的值。