集合
概述
Java集合是使程序能够存储和操纵元素不固定的一组数据。 所有Java集合类都位于java.util包中。
继承关系
Collection
概述
Collection作为集合类的父类,所以,collection中的方法,是所有集合类都有的方法
常用方法
Iterator
概述
Iterator 迭代器,屏蔽了不同数据结构的底层结构和差异性,提供了遍历的统一方式
迭代器为遍历提供的三个方法:
1.boolean hasNext():判断是否还有元素,有则返回true,反之返回false.
2.next():返回当前指向元素,并让光标指向下一个元素
3.remove():删除当前指向的元素,当使用迭代器时,想要删除数据,只能使用迭代器的删除
注意:只要迭代器生成,那么集合中就不能添加或删除元素,如果需要添加或删除元素,则需要重新生成迭代器。
forEach
概述
增强for循环,时Iterator的简写方式,但是功能不全,比如删除操作就没有,且使用f增强or循环时,也不能对集合进行添加和删除
语法:for(数据类型 变量:集合|数组){循环体}
List
概述
List有序可重复。
有序:添加和取出的顺序一致,队列操作
重复:可以存储重复数据
ArrayList
ArrayList底层是数组,查询和修改效率极高,但是随机添加和删除效率较低。默认加载长度为10,扩容是原来的1.5倍。非线程安全,效率极高。
当第一次添加加载数据时,在创建数组,如果我们只是new了ArrayList的对象时,是不会初始化底层数组的。
常用方法
LinkedList
LinkedList的底层时双向链表,随机添加和删除效率极高,但是查询和修改效率较低
双向:相互可以找到,可以向上找也可以向下找。
链表存储的都是节点对象,每一个双向链表中的节点都包含3个属性:保存的值,下一个节点的引用,上一个节点的引用。
常用方法