1、集合类汇总数组
1.数组与集合数据结构
数组:既可存储基本数据类型,也能够存储同类对象。长度固定。spa
集合:只能存储对象,类别能够不一样。长度不固定。指针
Collection是集合类的根接口,其被继承产生了两个接口,Set和List。对象
Set中不能包含重复的元素。List是一个有序的集合,能够包含重复的元素,提供了按索引访问的方式。继承
Map是Java.util包中的另外一个接口,它和Collection接口没有关系,是相互独立的,可是都属于集合类的一部分。Map包含了key-value对。Map不能包含重复的key,可是能够包含相同的value。索引
Iterator,全部的集合类,都实现了Iterator接口,这是一个用于遍历集合中元素的接口,主要包含如下三种方法:
1.hasNext()是否还有下一个元素。
2.next()返回下一个元素。
3.remove()删除当前元素。接口
arraylist和linkedlist:element
1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。rem
ArrayList重要数据结构(数组):
1.1. // 保存ArrayList中数据的数组 private transient Object[] elementData;
1.2. // ArrayList中实际数据的数量 private int size;
LinkList重要数据结构(双向循环链表):
private transient Entry<E> header = new Entry<E>(null, null, null); //链表节点
private transient int size = 0; //节点数量
2.对于随机访问get和set,ArrayList优于LinkedList,由于LinkList要移动指针。3.对于新增和删除操做add和remove,LinkList比较占优点,由于ArrayList要移动数据。