Collection根接口

Collection根接口

  • 介绍
    Collection是所有 单列集合 的根接口,所有的单列集合都会 实现这个接口。

  • 常见方法

     Collection中的常见方法:
             (常用)public boolean add(E e) : 把给定的对象添加到当前集合中 。
             public void clear() :清空集合中所有的元素。
             public boolean remove(E e) : 把给定的对象在当前集合中删除。
             public boolean contains(Object obj) : 判断当前集合中是否包含给定的对象。
             public boolean isEmpty() : 判断当前集合是否为空。
             (常用)public int size() : 返回集合中元素的个数。
             public Object[] toArray() : 把集合中的元素,存储到数组中
    
 public static void main(String[] args) {
        //创建集合
        Collection<String> list = new ArrayList<>();
        //向集合中添加元素
        //public boolean add(E e) : 把给定的对象添加到当前集合中 。
        list.add("hello");
        list.add("world");
        list.add("java");
        //输出集合
        System.out.println("操作前list:" + list);//[hello, world, java]
        //public void clear() :清空集合中所有的元素。
        //list.clear();

        // public boolean remove(E e):删除集合中指定的元素
        //list.remove("hello");
        //System.out.println("操作后list:" + list);

        //public boolean contains(Object obj):判断集合中是否包含指定的元素
        System.out.println("是否包含hello:" + list.contains("hello"));

        //public boolean isEmpty():判断集合是否为空,如果集合中没有任何元素,那么该集合就是一个空集合。
        //list.clear();
        System.out.println("是否是空集合:" + list.isEmpty());

        // public int size():获取集合的大小,集合中有几个元素,那么集合的大小就是几
        System.out.println("集合的大小:" + list.size());

        //public Object[] toArray():将集合转成数组并返回
        Object[] objArr = list.toArray();
        //遍历打印
        for (int i = 0; i < objArr.length; i++) {
            System.out.println(objArr[i]);
        }

    }
<think>根据用户的要求,我需要介绍Java Collection接口及其分类。参考引用内容,Collection接口Java集合框架的基础,主要分为Collection和Map两大体系。用户特别关注Collection接口及其子接口。 首先,我会概述Collection接口在整个集合框架中的位置,然后详细说明它的两个主要子接口:List和Set,包括它们的特点和常见实现类。同时,我会简要提及Map接口以作区分,但重点放在Collection部分。 为了增强理解,我会在介绍过程中嵌入代码示例,展示ArrayList、LinkedList等具体类的使用方法。这些代码示例将与引用[3]中的内容保持一致,但会进行适当简化和注释,使其更清晰易懂。 最后,我将遵循系统指令生成相关问题,这些问题应围绕Collection接口的扩展知识设计,如具体实现类的区别、使用场景等,帮助用户深入探索主题。 </think>### Java Collection接口及其分类介绍 Java集合框架位于`java.util`包中,核心接口`Collection`是存储**单个元素**集合的根接口。其分类体系如下: #### 一、Collection接口两大子体系 1. **List接口** - **特点**:有序(插入顺序)、可重复、允许`null`元素 - **实现类**: - `ArrayList`(动态数组,随机访问快) - `LinkedList`(双向链表,插入删除快) - `Vector`(线程安全版ArrayList) - **示例**: ```java List<String> list = new ArrayList<>(); list.add("A"); // 添加元素 list.get(0); // 访问元素 → 输出"A" ``` 2. **Set接口** - **特点**:无序、不可重复(依赖`equals()`和`hashCode()`) - **实现类**: - `HashSet`(基于哈希表,查询最快) - `LinkedHashSet`(保留插入顺序) - `TreeSet`(基于红黑树,自动排序) - **示例**: ```java Set<Integer> set = new HashSet<>(); set.add(1); set.add(1); // 重复元素不会被添加 System.out.println(set.size()); // 输出1 ``` #### 二、独立体系:Map接口 - **特点**:存储键值对(Key-Value),Key不可重复 - **实现类**: `HashMap`、`LinkedHashMap`、`TreeMap`、`Hashtable` - **与Collection关系**: Map不是Collection的子接口,但可通过`keySet()`、`values()`方法转换为Collection[^1][^2] #### 三、Collection核心方法 | 方法类型 | 方法签名 | 功能说明 | |----------------|-----------------------------------|------------------------------| | **添加元素** | `add(E e)`, `addAll(Collection c)` | 添加单个/批量元素 | | **删除元素** | `remove(Object o)`, `clear()` | 删除指定元素或清空集合 | | **查询元素** | `contains(Object o)`, `size()` | 判断包含性/获取元素数量 | | **遍历元素** | `iterator()` | 返回迭代器用于遍历 | | **类型转换** | `toArray()` | 将集合转换为数组[^2] | #### 四、代码示例(List操作) ```java // 引用[3]代码简化版 ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add(1, "Python"); // 在索引1处插入 System.out.println(list); // 输出: [Java, Python] Collection<String> data = Set.of("C++", "Go"); list.addAll(data); // 批量添加 System.out.println(list); // 输出: [Java, Python, C++, Go] ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值