当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java ConcurrentLinkedQueue removeAll()用法及代码示例


ConcurrentLinkedQueue 类的 removeAll() 方法用于移除 ConcurrentLinkedQueue 中与指定集合的​​项匹配的元素。

用法:

public boolean removeAll(Collection<?> c)

参数:

这里,参数 c 是包含要从 ConcurrentLinkedQueue 中删除的元素的集合。

指定者:

ConcurrentLinkedQueue 类的 removeAll() 方法指定为:

接口 Collection<E> 中的 removeAll。

返回值:

如果集合发生更改,removeAll() 方法将返回一个布尔值 'true',否则返回 false。

抛出:

如果指定的集合不支持空元素或包含一个或多个空元素,则抛出 NullPointerException。

例子1

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
public class ConcurrentLinkedQueueRemoveAllExample1 {
    public static void main(String[] args) {
        ConcurrentLinkedQueue<Character> queue = new ConcurrentLinkedQueue<Character>();
        char c;
        for(c='A';c<='Z';++c){
            queue.add(c);
        }
        System.out.println("Queue:"+queue);
        List<Character> list = new ArrayList<Character>();
        list.add('A');
        list.add('E');
        list.add('I');
        list.add('O');
        list.add('U');
        System.out.println("List of vowels:"+list);
        //removes all the elements int the queue which are present in list
        queue.removeAll(list);
        System.out.println("Queue without vowels:"+queue);
    }
}

输出:

Queue:[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z]
List of vowels:[A, E, I, O, U]
Queue without vowels:[B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Y, Z]

例子2

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
public class ConcurrentLinkedQueueRemoveAllExample2 {
    public static void main(String[] args) {
        ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>();
        List<Integer> list = new ArrayList<Integer>();
        for (int i=1;i<11;i++){
            queue.add(i);}
        System.out.println("Total no:"+ queue);
        for (int i=1;i<11;i++){
            i=i+1;
            list.add(i);}
        //removes all the elements int the queue which are present in list
        queue.removeAll(list);
        System.out.println(" Even no:"+list);
        System.out.println(" Odd no:"+queue);
    }
}

输出:

Total no:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 Even no:[2, 4, 6, 8, 10]
 Odd no:[1, 3, 5, 7, 9]

例子3

import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentLinkedQueue;
public class ConcurrentLinkedQueueRemoveAllExample3 {
    public static void main(String[] args) {
        ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>();
        List<Integer> list = new ArrayList<Integer>();
        queue.add(67);
        queue.add(100);
        queue.add(null);
        list.add(67);
        queue.removeAll(list);
        System.out.println("Queue:"+queue);
    }
}

输出:

Exception in thread "main" java.lang.NullPointerException
	at java.util.concurrent.ConcurrentLinkedQueue.checkNotNull(ConcurrentLinkedQueue.java:920)
	at java.util.concurrent.ConcurrentLinkedQueue.offer(ConcurrentLinkedQueue.java:327)
	at java.util.concurrent.ConcurrentLinkedQueue.add(ConcurrentLinkedQueue.java:297)
	at com.javaTpoint.ConcurrentLinkedQueueRemoveAllExample3.main(ConcurrentLinkedQueueRemoveAllExample3.java:12)






相关用法


注:本文由纯净天空筛选整理自 Java ConcurrentLinkedQueue removeAll() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。