Collection.add()

确保集合中会包含指定元素

定义

boolean add​(E e)

参数

参数类型参数名称参数描述
Ee确保要在此集合中存在的元素
类型参数E集合元素的类型

返回值

如果调用方法后, 集合发生了变化则返回 true .(如果此集合不允许重复且已包含指定元素, 则返回 false.)

抛出的异常

UnsupportedOperationException 如果当前集合不支持 add 操作

ClassCastException 如果指定元素的类阻止它被添加到当前集合中

NullPointerException 如果指定的元素为 null 并且此集合不允许 null 元素

IllegalArgumentException 如果指定元素的某些属性阻止将其添加到此集合中

IllegalStateException 如果由于插入限制, 此时不能添加元素

说明

支持此操作的集合可能会对可以添加到此集合中的元素设置限制. 特别是, 一些集合会拒绝添加 null 元素, 而另一些集合会对可能添加的元素类型施加限制. 集合类应在其文档中明确指定对可以添加哪些元素的任何限制.

如果集合由于任何原因而拒绝添加特定元素, 而不是因为它已经包含该元素, 则它必须抛出异常(而不是返回 false). 这保留了在此调用返回后集合始终包含指定元素的不变性.

 

示例

在不同集合中添加元素的示例

package com.yi21.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;

public class Yi21CollectionAdd {

    public static void main(String[] args) {
        
        ArrayList<String> list = new ArrayList<>();
        System.out.println("对象是否是一个集合? " + (list instanceof Collection));
        System.out.println("为集合添加元素:");
        list.add("World");
        list.forEach(System.out::println);

        Set<String> set = Set.of("Yes");
        System.out.println("对象是否是一个集合? " + (set instanceof Collection));
        try {
            set.add("No");
        } catch (UnsupportedOperationException e) {
            System.out.println("不支持修改的集合: " + e);
        }

    }

}

执行结果为 :

对象是否是一个集合? true
为集合添加元素:
World
对象是否是一个集合? true
不支持修改的集合: java.lang.UnsupportedOperationException