#博学谷IT学习技术支持#
一、集合类的应用场景
在编写程序时,可以用数组存储相应的字符串,数字等,但是数组在定义时是固定长度的,没办法自动扩容。因此,java中提供了集合类作为存储数据的容器,以便对数据进行遍历和增删改查。
集合类主要分为List类、Set类、Map类。其中list和set类负责单列集合的存储;Map类负责双列集合的存储。同时,所有的集合类都是抽象类collection类的子类,因此,也具有继承和多态等特性,在创建对象时也可以使用父类引用指向子类对象。
二、List类
List类是List的实现类,主要分类arraylist类和linked类;两类在底层数据结构上分别是用数组和链表来进行存储的。因此,arraylist可以调用数组的索引来查找数据,具有查找快、增删慢的特点;而linked类存储的数据结构是链表形式,具有查找慢、增删快的特点。所以,需要我们根据不同的数据特点去使用不同的数据结构来存储数据。两者都是通过new方法来创建对应的对象的。
ArrayList<> list=new ArrayList<>();
LinkedList<> list=new LinkedList<>();
注:<>内是存储的数据类型,但一定要是引用类数据类型,后面<>内的数据类型可以省略,java会自动匹配前面声明的数据类型。
如果需要存储int类型的数据,则<>内应该使用对应的包装类。
三、Set类
和list类相比,Set类存储的数据不可重复,会自动删除多余的数据,同时会对存储的数据进行自动排序,如果我们需要新的排序方式,则需要重写set类中的排序方法。set类主要分为treeset类和HashSet类。
同时,因为set类和list类都是collection类的实现类,因此都具有collection类中方法。
add():添加对象到对应的集合中;
remove():移除集合中的对象;
isEmpty():判断集合是否为空集;
iterator():创建迭代器对象以遍历集合:
size():获取集合中元素的个数并返回