Java AbstractSequentialList中的retainAll()方法及示例
java.util.AbstractSequentialList类中的 retainAll() 方法用于从该列表中保留包含在指定集合中的所有元素。
语法:
public boolean retainAll(Collection c)
参数: 此方法将 集合c (包含要从此列表中保留的元素)作为参数。
返回值: 如果此列表由于调用而更改,则此方法返回 true 。
异常: 如果此列表包含空元素且指定的集合不允许空元素(可选),或指定的集合为空,则此方法会抛出 NullPointerException 。
下面是用于说明 retainAll() 方法的示例。
示例1:
//演示用于整数值的retainAll()方法的Java程序
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// 创建AbstractSequentialList 类的对象
AbstractSequentialList
arrlist1 = new LinkedList ();
// 填充 arrlist1
arrlist1.add(1);
arrlist1.add(2);
arrlist1.add(3);
arrlist1.add(4);
arrlist1.add(5);
// 打印 arrlist1
System.out.println("retainAll()操作前的AbstractSequentialList: " + arrlist1);
// 创建AbstractSequentialList 类的另一个对象
AbstractSequentialList
arrlist2 = new LinkedList ();
arrlist2.add(1);
arrlist2.add(2);
arrlist2.add(3);
// 打印 arrlist2
System.out.println("要保留的集合元素:" + arrlist2);
// 使用retainAll()方法从arrlist中删除在arrlist2指定的元素
arrlist1.retainAll(arrlist2);
// 打印 arrlist1
System.out.println("retainAll()操作后的AbstractSequentialList: " + arrlist1);
}
catch (NullPointerException e) {
System.out.println("抛出异常:" + e);
}
}
}
输出:
retainAll()操作前的AbstractSequentialList: [1, 2, 3, 4, 5]
要保留的集合元素: [1, 2, 3]
retainAll()操作后的AbstractSequentialList: [1, 2, 3]
示例2: NullPointerException
// Java程序,演示Integer值的retainAll()方法
import java.util.*;
public class GFG1 {
public static void main(String[] argv) throws Exception
{
try {
// 创建 AbstractSequentialList<Integer> 对象
AbstractSequentialList<Integer>
arrlist1 = new LinkedList<Integer>();
// 将元素添加到arrlist1中
arrlist1.add(1);
arrlist1.add(2);
arrlist1.add(3);
arrlist1.add(4);
arrlist1.add(5);
// 输出arrlist1
System.out.println("AbstractSequentialList在retainAll()操作之前:"
+ arrlist1);
// 创建另一个 AbstractSequentialList<Integer> 对象
AbstractSequentialList<Integer>
arrlist2 = null;
// 输出arrlist2
System.out.println("要保留的集合元素:"
+ arrlist2);
System.out.println("\n.尝试将null作为指定元素传递\n");
// 使用retainAll()方法从arrlist2中指定的元素中删除元素
arrlist1.retainAll(arrlist2);
// 输出arrlist1
System.out.println("AbstractSequentialList在retainAll()操作之后:"
+ arrlist1);
}
catch (NullPointerException e) {
System.out.println("抛出异常:" + e);
}
}
}
输出:
AbstractSequentialList在retainAll()操作之前:[1, 2, 3, 4, 5]
要保留的集合元素:null
.尝试将null作为指定元素传递
抛出异常:java.lang.NullPointerException
极客教程