1. 集合的定义
什么是集合呢?
定义:集合是一个存放对象的引用的容器。
在Java中,集合位于java.util包下。
2. 集合和数组的区别(面试常问)
提到容器,就会想起数组,那么集合和数组的区别是什么呢?(这里是重点,面试可能问的比较多)
数组和集合都是Java中的容器
数组的长度是固定的,集合的长度是可变的
数组只能存储相同数据类型的数据,这里的数据类型可以是基本数据类型,也可以是引用类型
集合可以存储不同数据类型的对象的引用(但一般情况下,我们会使用泛型来约定只使用1种数据类型),但不能存储基本数据类型
空口无凭,我们来点代码配合理解,首先,我们看下如下的数组代码:
String[] platformArray = new String[3];
platformArray[0] = "博客园";
platformArray[1] = "掘金";
platformArray[2] = "微信公众号";
platformArray[3] = "个人博客";
运行代码就会发现,platformArray[3] = "个人博客";会引发java.lang.ArrayIndexOutOfBoundsException异常。
而使用集合时就不存在这个问题,因为集合在声明时不需要指定长度并且长度会根据放入元素的多少而变化:
List platformList = new ArrayList<>();
platformList.add("博客园");
platformList.add("掘金");
platformList.add("微信公众号");
platformList.add("个人博客");
观察上面声明数组的代码,我们可以推断出下面的代码肯定是编译不通过的:
String[] platformArray = new String[3];
platformArray[0] = "博客园";
pl