Java Collection集合

这篇博客介绍了Java集合框架中的Collection接口,包括其与数组的区别、Collection的子接口如List和Set,以及常用方法如add、remove、contains等。通过示例展示了如何使用Collection进行元素操作,并演示了集合与数组之间的转换。最后,展示了如何清空集合并检查其是否为空。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.集合概述

集合,就类似一个容器,可以存储多个数据。

之前学习的数组也是一种容器,而集合与数组主要区别在于:

  • 数组的长度是固定的,集合的长度是可变的
  • 数组存储的是同一类型的元素,主要是基本类型,而集合存储的都是对象,而且对象的类型可以不一致

Java的集合按照存储结构可以分为两类:单列集合Collection和双列集合Map,两类集合都在java.util包中。

java.util包主要提供了三种类型的集合:

  • List:一种元素有序,元素可重复的集合
  • Set:一种没有重复元素,元素无序的集合
  • Map:一种存储键值对的集合

Java集合的设计有两个特点:

  • 实现了接口和实现类的分离,比如有序表的接口是List,具体实现类有ArrayList,LinkedList等
  • 支持泛型,可以限制一个集合只能存储同一种类型的元素

Java中提供了丰富的集合类库,以下为Collection的继承体系:

Collection.png

二.Collection集合的通用方法

Collection类是所有单列集合的父接口,其定义了一些通用方法,可以用于所有的单列集合。

主要有以下方法(不是全部):

  • boolean add(E e):把给定的对象添加到当前集合中
  • void clear():清空集合中所有的元素
  • boolean remove(Object o):把给定对象在当前集合中删除,删除成功返回true,失败返回false
  • boolean contains(Object o):判断当前集合中是否包含给定的对象,包含返回true,不包含返回false
  • boolean isEmpty():判断当前集合是否为空,为空返回true,不为空返回false
  • int size():返回集合中元素的个数
  • Object[] toArray():把集合中的元素存储到数组中
import java.util.*;

public class CollectionTest {
    public static void main(String[] args) {
        // 使用多态创建
        Collection<String> c = new ArrayList<String>();

        // 添加元素
        c.add("张三");
        c.add("李四");
        c.add("王五");

        System.out.println(c);  // 输出:[张三, 李四, 王五]

        // 判断是否包含一个"李四"的元素
        System.out.println(c.contains("李四")); // 输出:true
        // 删除"李四"
        boolean ret = c.remove("李四");
        System.out.println("删除李四成功?:" + ret);   // 输出:删除李四成功?:true
        // 再判断一次
        System.out.println(c.contains("李四")); // 输出:false

        // 判断集合是否为空
        System.out.println(c.isEmpty());    // 输出:false

        // 返回集合的个数
        System.out.println(c.size());   // 输出:2

        // 将集合转换为数组
        Object[] array = c.toArray();
        for(int i = 0; i < array.length; i++) {
            System.out.print(array[i] + " ");
        }// 输出:张三 王五
        System.out.println();
        // 清空集合
        c.clear();

        // 判断集合是否为空
        System.out.println(c.isEmpty());    // 输出:true
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值