Java是面向对象编程,而集合就是用来存储对象的,方便对多个对象进行操作。
Java集合就像一种容器,可以动态的把多个对象的引用放入容器中。

而数组,也可以对多个数据进行存储,也是Java容器。
为什么有了 数组,还要 集合 呢?

这个时候我们来看一下 数组 存储多个数据 的缺点

  1. 数组一旦初始化之后,长度就确定了。
  2. 数组一旦定义号,其元素的类型也就确定了。只能操作指定类型的数据。
    如:String [ ] arr1, int [ ] arr2。
  3. 数组 对于数据的 增、删、改、查 等操作 提供的方法有限,不方便,且效率低。
  4. 数据存储的数据是 有序、可重复的。不能存储 无序、不可重复的数据

而 集合 可以解决以上的问题。

Java集合可以分为两大体系

  1.  Collection接口:单列数据,定义了存取一组对象的方法的集合
             List         :元素有序、可重复的集合
             Set         :元素无序、不可重复的集合
           
  2. Map接口:双列数据,存储具有以映射关系(key-value 键值对关系)的集合

 (List接口 和 Set接口 是Collection的子接口)

Java为我们提供好了一些实现类
List接口的实现类:ArrayList、LinkedList、Vector
Set接口的实现类:HashSet、LinkedHashSet、TreeSet
Map接口的实现类:HashMap、LinkedHashMap、TreeMap、HashTable、Properties