Java Collection集合

Posted Lucas小毛驴博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Collection集合相关的知识,希望对你有一定的参考价值。

一.集合概述

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

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

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

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

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

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

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

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

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

技术图片

二.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
    }
}

以上是关于Java Collection集合的主要内容,如果未能解决你的问题,请参考以下文章

Java集合类操作优化总结

Java集合框架--Collection接口的使用 & 迭代器(Iterator)遍历原理

Java集合框架

Java基础之Collection

java-Collection,List简单使用与方法/(集合使用-中)

Java集合框架中接口Collection和Map的区别