java基础-集合
集合按照存储结构可以分为两大类:
- 单列集合Collection和双列集合Map。
- Collection有两个子接口,List和Set.list特点是元素有序、可重复。Set的特点是元素无序、不能重复。
- Map用于存储具有键(key)和值(value)映射关系。可以通过指定的key找到对应的值value.
集合体系架构图
list
集合常用方法:
- void add(intt index, Object element) 将元素插入在list得index处
- boolean addAll (int index,Collection c) 将集合c包含的所有元素插入到list集合的index处
- Object get (int index) 返回index处的元素
- Object remove (int index) 删除index处元素
- Object set (int index,Object element) 将index处的元素替换成element对象
- int indexOf (Object o) 返回对象o处的位置索引
- int lastIndexOf (Object o) 将返回对象o在集合最后一次出现的位置索引
- List subList (int FromIndex ,int toIndex) 返回索引fromindex到toindex处的所有元素集合组成的子集合。
ArrayList
为List接口的一个实现类,相当于 长度可变的数组对象。
LinkedList
为list接口的一个实现类,在增删元素时比ArrayList效率高。
Iterator
Collection、map接口用于存储元素,Iterator主要用于遍历。因此Iterator对象又称为迭代器。
相关方法: hasNext()判断集合中是否存在下一个元素
next()取出下一个元素。
foreach循环
语法: for(容器中元素类型 临时变量:容器变量){
执行语句
}
listItrator接口
为iterator的一个子类,添加的方法如下:
boolean hasPrevious() 如果以逆向遍历列表,列表迭代器有多个元素,则返回true
Object previous() 返回列表中的前一个元素。
void remove() 从列表中移除next或者previous返回的最后一个元素。
set
无序、不可重复
HashSet
hashset是根据元素的不可重复性的,并且元素都是无序的。当向hashset集合中添加一个对象时,首先会调用该对象的hashcode()方法来确定元素的存储位置,然后再调用对象的equals()方法来确保该位置没有重复元素。
TreeSet
内部采用排序二叉树来存储元素。
个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。