Removes from this collection all of its elements that are not contained in the specified collection.

package com.logicbig.example.arraydeque;
import java.util.ArrayDeque;
import java.util.List;
import java.util.Set;
public class RetainAllExample2 {
public static void main(String... args) {
ArrayDeque<Integer> ad = new ArrayDeque<>(List.of(3, 8, 1, 9));
System.out.println(ad);
boolean b = ad.retainAll(Set.of(null));
System.out.println(b);
System.out.println(ad);
}
}
Output
[3, 8, 1, 9]
java.lang.NullPointerException: Cannot read the array length because "elements" is null
at java.util.Set.of (Set.java:696)
at com.logicbig.example.arraydeque.RetainAllExample2.main (RetainAllExample2.java:17)
at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:104)
at java.lang.reflect.Method.invoke (Method.java:565)
at org.codehaus.mojo.exec.AbstractExecJavaBase.executeMainMethod (AbstractExecJavaBase.java:402)
at org.codehaus.mojo.exec.ExecJavaMojo.executeMainMethod (ExecJavaMojo.java:142)
at org.codehaus.mojo.exec.AbstractExecJavaBase.doExecClassLoader (AbstractExecJavaBase.java:377)
at org.codehaus.mojo.exec.AbstractExecJavaBase.lambda$execute$0 (AbstractExecJavaBase.java:287)
at java.lang.Thread.run (Thread.java:1474)
JDK 25