Collection
定义::一个接口,目的是存储不唯一无序的对象
List
定义:一个继承Collection的接口,目的是存储不唯一有序的对象
公用方法
Object remove(int index)//移除下标元素,并返回该元素
boolean remove(Object o)//移除某元素
boolean contains(Object o)//是否包含元素
Object get(int index)//获取某下标的元素
int size()//获取元素的个数
void add(int index,Object o)//在指定的索引添加元素
boolean add(Object o)//在末尾添加元素
//也就是说下面所有的实现类都有该方法
ArrayList
定义:实现了长度的可变数组,在内存中分配连续的空间,遍历元素和随机访问元素和尾插的效率比较高。
LinkedList
定义::采取链表的存储方式,插入、删除元素的效率比较高。
个性方法:
void addFirst(Object o)//在首部添加元素
void addLast(Object o)//在最后添加元素
Object getFirst()//获取第一个元素
Object getLast()//获取最后一个元素
Object removeFirst()//移除第一个
Object removeLast()//移除最后一个
Set
定义:一个继承Collection的接口,目的是存储唯一无序的对象(Set中存放对象的引用)
Hashset是Set接口常用的实现类。因为是无序,所以set不存在get方法
为什么重写equals的时候也要重写hashcode?
因为set的唯一性,set在add时需要判断hashcode和equals
遍历Set集合
方法一:通过迭代器Iterator实现遍历
获取Iterator :Collection 接口的iterator()方法
Iterator的方法
boolean hasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
Iterator<Student> ite = set.iterator();
while (ite.hasNext()) {
System.out.println(ite.next());
}
方法2:增强型for循环
for each