Collection接口-定义了存取对象的方法。两个非常常用的子接口:
List接口:存放的元素有序且允许有重复的集合接口。
ArrayList:底层封装数组实现,分配的是一块连续的内存空间。
LinkedList:底层封装链表实现,分配的是不连续的内存空间。
Set接口:存放的元素无序不包含重复的集合接口,所有的重复内容是靠hashCode()和euqals()两个方法区分的。
如何判断两个对象是否为同一个对象:
先判断两个对象的hashCode值是否相等,如果相等, 再执行equals(), 返回true, 这两个对象是同一个对象。
如果hashCode 不相等, 这两个对象不是同一个对象
1、 Iterator(迭代器)家族,主要用于遍历Colleciton接口的及其子类而设计。
2、 Compaator(比较器),在集合中存储对象时候,用于对象之间的比较。
3、 Collecitons是工具类,对Colleciton集合进行操作。
Collection接口 | |||
List接口 | ArrayList (LinkedList) | ||
Set接口 | |||
Map接口 | |||
Iterator (迭代器) |
主要用于遍历Colleciton接口的及其子类而设计。 | ||
Comparator (比较器) | 在集合中存储对象时候,用于对象之间的比较 | ||
Collecitons | 来对Colleciton集合进行操作。 |
Collection接口 | List接口 | Set接口 | ||
ArrayList | LinkedList | HsahSet | ||
int size(); | √ | √ | √ | √ |
boolean isEmpty(); | √ | √ | √ | √ |
boolean contains(Object obj); | √ | √ | √ | √ |
boolean add(Object element); | √ | √ | √ | √ |
boolean remove(Object element); | √ | √ | √ | √ |
void clear(); | √ | √ | √ | √ |
Iterator iterator(); | √ | √ | √ | √ |
Object[] toArray(); | √ | √ | √ | √ |
add(int index, Object element); | √ | √ | ||
remove(int index) ; | √ | √ | ||
int indexOf(Object o) ; | √ | √ | ||
int lastIndexOf(Object o); | √ | √ | ||
Object get(int index) | √ | √ | ||
Object getFirst() | √ | |||
Object getLast() | √ | |||