集合概述

在没有学习集合之前,我们用来存储多个对象的时候只能采用数组的方式。但是Java中的数组有一些缺点非常明显:

  • 数组的长度在声明的时候就确定了,不能动态的修改
  • 数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。同时无法直接获取存储元素的个数。
  • 获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用
  • 数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。

集合的出现,就是为了弥补数组的这些缺点的。Java中的结合包含了多种数据结构,用来弥补java数组的缺陷。

集合体系结构

Java 集合可分为 Collection 和 Map 两种体系:

Collection 接口 :单列数据,定义了存取一组对象的方法的集合。它又分为两类:

  • list: 元素有序、可重复的集合(对应Redis中的list)
  • set:元素无序、不可重复的集合(对应Redis中的set)

Map 接口:双列数据,保存具有映射关系“key-value对”的集合(对应Redis中hash,PHP的关联数组)