Java集合框架为我们提供了一套性能优良,使用方便的借口和类,他们都位于java.util包中.关系如下图所示
集合框架是为表示和操作集合而规定的一种统一的标准体系结构,集合框架包括三大块内容,对外的接口,接口的实现,和集合运算的方法
Collection 接口存储一组不唯一(允许重复)、无序的对象。
Set 接口继承Collection 接口,存储一组唯一(不允许重复)、无序的对象。
List 接口继承Collection 接口,存储一组不唯一(允许重复)、有序(以元素插入的次序知置元素,不会重新排列) 的对象
ArrayList集合类
示例
LinkedList集合类
LinkedList的一些特殊方法
HashMap集合类
Map接口
- Map提供了一种映射关系,其中的元素是以键值对(key-value)的形式存储的,能够实现根据key快速查找value;
- Map中的键值对以Entry类型的对象实例形式存在;
- 建(key值)不可重复,value值可以重复,一个value值可以和很多key值形成对应关系,每个建最多只能映射到一个值。
- Map支持泛型,形式如:Map<K,V>
- Map中使用put(K key,V value)方法添加
HashMap类
- HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现
- HashMap中的Entry对象是无序排列的
- Key值和value值都可以为null,但是一个HashMap只能有一个key值为null的映射(key值不可重复)
常用方法
Object put(Object key,Object value)
Object get(Object key) 根据键返回相关联的值,若不存在指定的键,则返回 null
Object remove(Object key) 删除指定的键映射的"键-值对"
int size() 返回元素个数
Set keySet() 返回键的集合
Collection values() 返回值的集合
boolean containsKey(Object key) 若存在指定的键映射的"键-值对",则返回true
boolean isEmpty() 若不存在键-值映射关系,则返回true
void clear() 从此映射中移除所有映射关系
迭代器iterator
迭代器(Iterator)是一个对象,它的工作是遍历并选择序列中的对象,它提供了一种访问一个容器(container)对象中的各个元素,而又不必暴露该对象内部细节的方法。通过迭代器,开发人员不需要了解容器底层的结构,就可以实现对容器的遍历。由于创建迭代器的代价小,因此迭代器通常被称为轻量级的容器。
迭代器的使用主要有以下三个方面的注意事项:
1)使用容器的iterator()方法返回一个Iterator,然后通过Iterator的next()方法返回第一个元素。
2)使用Iterator()的hasNext()方法判断容器中是否还有元素,如果有,可以使用next()方法获取下一个元素。
3)可以通过remove()方法删除迭代器返回的元素。
遍历使用