这个 addAll() 方法 ConcurrentLinkedQueue 用于在ConcurrentLinkedQueue的末尾插入集合的所有元素,并将其作为参数传递给此方法。元素的插入顺序与集合迭代器返回的顺序相同。
null
语法:
public boolean addAll(Collection<? extends E> c)
参数: 此方法接受一个参数 C 表示其元素需要追加到此ConcurrentLinkedQueue末尾的集合。
返回: 此方法返回 符合事实的 如果至少执行了一个插入操作。
例外情况: 此方法引发两个不同的异常:
- 空指针异常 –如果传递的集合或其任何元素为空。
- 非法数据异常 –如果传递的集合是该队列本身。
下面的程序演示了ConcurrentLinkedQueue的addAll()方法:
例1: 正在尝试将数字列表添加到ConcurrentLinkedQueue。
// Java Program Demonstrate addAll() // method of ConcurrentLinkedQueue import java.util.concurrent.*; import java.util.*; public class GFG { public static void main(String[] args) { // create an ConcurrentLinkedQueue ConcurrentLinkedQueue<Integer> queue = new ConcurrentLinkedQueue<Integer>(); // Add Numbers to queue queue.add( 4353 ); // create a ArrayList of Numbers ArrayList<Integer> arraylist = new ArrayList<Integer>(); // add some numbers to ArrayList arraylist.add( 377139 ); arraylist.add( 624378 ); arraylist.add( 654793 ); arraylist.add( 764764 ); arraylist.add( 838494 ); arraylist.add( 632845 ); // Displaying the existing ConcurrentLinkedQueue System.out.println( "ConcurrentLinkedQueue: " + queue); // Displaying the existing Collection System.out.println( "Collection to be added: " + arraylist); // apply addAll() method and passed the arraylist as parameter boolean response = queue.addAll(arraylist); // Displaying the existing ConcurrentLinkedQueue System.out.println( "Collection added: " + response); // Displaying the existing ConcurrentLinkedQueue System.out.println( "ConcurrentLinkedQueue: " + queue); } } |
输出:
ConcurrentLinkedQueue: [4353] Collection to be added: [377139, 624378, 654793, 764764, 838494, 632845] Collection added: true ConcurrentLinkedQueue: [4353, 377139, 624378, 654793, 764764, 838494, 632845]
例2: 正在尝试向ConcurrentLinkedQueue添加字符串列表。
// Java Program Demonstrate addAll() // method of ConcurrentLinkedQueue import java.util.concurrent.*; import java.util.*; public class GFG { public static void main(String[] args) { // create an ConcurrentLinkedQueue ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>(); // Add String to queue queue.add( "Aman" ); queue.add( "Amar" ); // create a ArrayList of Numbers ArrayList<String> arraylist = new ArrayList<String>(); // add some numbers to ArrayList arraylist.add( "Sanjeet" ); arraylist.add( "Rabi" ); arraylist.add( "Debasis" ); arraylist.add( "Raunak" ); arraylist.add( "Mahesh" ); // Displaying the existing ConcurrentLinkedQueue System.out.println( "ConcurrentLinkedQueue: " + queue); // Displaying the existing Collection System.out.println( "Collection to be added: " + arraylist); // apply addAll() method and passed the arraylist as parameter boolean response = queue.addAll(arraylist); // Displaying the existing ConcurrentLinkedQueue System.out.println( "Collection added: " + response); // Displaying the existing ConcurrentLinkedQueue System.out.println( "ConcurrentLinkedQueue: " + queue); } } |
输出:
ConcurrentLinkedQueue: [Aman, Amar] Collection to be added: [Sanjeet, Rabi, Debasis, Raunak, Mahesh] Collection added: true ConcurrentLinkedQueue: [Aman, Amar, Sanjeet, Rabi, Debasis, Raunak, Mahesh]
例3: 显示 空指针异常
// Java Program Demonstrate addAll() // method of ConcurrentLinkedQueue import java.util.concurrent.*; import java.util.*; public class GFG { public static void main(String[] args) { // create an ConcurrentLinkedQueue ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>(); // Add String to queue queue.add( "Aman" ); queue.add( "Amar" ); // create a ArrayList which is equal to null ArrayList<String> arraylist = null ; // Displaying the existing ConcurrentLinkedQueue System.out.println( "ConcurrentLinkedQueue: " + queue); // Displaying the existing Collection System.out.println( "Collection to be added: " + arraylist); try { // apply addAll() method and pass the arraylist as parameter // since the arraylist is null, exception will be thrown boolean response = queue.addAll(arraylist); } catch (NullPointerException e) { System.out.println( "Exception thrown while adding null: " + e); } } } |
输出:
ConcurrentLinkedQueue: [Aman, Amar] Collection to be added: null Exception thrown while adding null: java.lang.NullPointerException
例4: 显示IllegalArgumentException
// Java Program Demonstrate addAll() // method of ConcurrentLinkedQueue import java.util.concurrent.*; import java.util.*; public class GFG { public static void main(String[] args) { // create an ConcurrentLinkedQueue ConcurrentLinkedQueue<String> queue = new ConcurrentLinkedQueue<String>(); // Add String to queue queue.add( "Aman" ); queue.add( "Amar" ); // Displaying the existing ConcurrentLinkedQueue System.out.println( "ConcurrentLinkedQueue: " + queue); try { // apply addAll() method and passed the queue as parameter boolean response = queue.addAll(queue); } catch (IllegalArgumentException e) { System.out.println( "Exception thrown while adding queue" + " to itself when collection is required: " + e); } } } |
输出:
ConcurrentLinkedQueue: [Aman, Amar] Exception thrown while adding queue to itself when collection is required: java.lang.IllegalArgumentException
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END