ArrayList:底层是一个数组,擅长数据的查找(访问)
LinkedList:底层链表,擅长数据的修改(包括数据添加和删除)
特点:存储的数据时有序的(有序是指存储顺序),存放重复的数据,可以存放NULL值
ListIterator:迭代器。支持前进和后退两种读取方式。
支持ArrayList和LinkedList两个集合
集合名.listIterator();//表示从第一个元素的上面开始访问
集合名.listIterator(int index);//表示从指定下标的位置的上面开始访问
hasPrevious():判断是否有上一个元素可以访问
Previous():获取上一个元素。
Listiterator.Set():修改
Listiterator.add():添加
Listiterator.remove():删除
Set集合:
特点:存储无序(不再支持索引),不能存储重复数据,是否可以NULL
Set集合:HashSet,通常用来输出数据的方案:Iterator实现数据的删除和遍历
SET中不能出现重复数据:存放到Set集合的数据,不能满足元素1==元素2或元素1.equals(元素2),set集合将只保存元素1,而不会存储元素2
Map集合:
Map<K,V>:存储数据是以键值对的形式存储
HashMap: 键不能重复
put(Object key,Object value),
get(Object key);
remove(Object key);
map集合的数据输出:
- keyset() key==>value
- Values()
- Entryset()
Collections:
Arrays:操作数组。排序、查找
Collections:操作集合。排序、查找
BinarySearch()必须基于排序。