集合 容器 用来储存,管理对象的对象
接口特点
常用方法
遍历
实现类
泛型
Collection
接口特点: 元素是Object
常用方法:
add(Object o):将对象o添加到集合中
addAll(Collection c):将集合c中所有的元素添加到集合中
clear():清空集合
contains(Object o):判断集合中是否存在元素o
remove(Object o):从集合中删除元素o
size():返回集合的长度
toArray():将集合转为数组
遍历:
迭代遍历 for-each
实现类:无
List Collection的子接口
接口特点: 元素是Object 有顺序(下标) 元素可以重复
常用方法:
add(int pos,Object o):将对象o插入到pos下标
get(int pos):获得pos下标的元素
indexOf(Object o):获得o在集合中的下标
remove(int pos):删除pos下标的元素
set(int pos,Object o):将pos下标位置替换为对象o
遍历:
1.下标遍历
2.迭代遍历 for-each
实现类:
1. ArrayList 数组实现 查询快 增删慢 1.2 线程不安全 快
2. LinkedList 链表实现 查询慢 增删快
3. Vector 数组实现 1.0 线程安全 慢
泛型:JDK5.0
用在集合上:实现类型安全的集合,指定集合中元素的类型
Collections 工具类
reverse(List list):将list中的元素反转排列
shuffle(List list):将list中的元素随机打乱次序
sort(List list):为list中的元素排序 元素要实现Comparable接口,实现排序规则
Set Collection的子接口
接口特点: 元素是Object 无顺序 元素内容不可重复
常用方法: 无
遍历: 迭代遍历 for-each
实现类:
HashSet
自定义的对象放入HashSet,为了元素内容不重复,应该:
1)覆盖hashCode()方法,保证内容相同的对象返回相同的int
为了提高效率, 尽量保证内容不同的对象返回不同的int
2)覆盖equals()方法,保证内容相同的对象返回true
LinkedHashSet HashSet的子类 维护元素添加到集合中的顺序
TreeSet SortedSet(Set的子接口)的实现类 自动排序
Map
接口特点:
元素是键值对(key-value) key:无顺序 不可重复 唯一 value:可以重复
常用方法:
put(K key,V value):把key-value放入Map 如果key已存在,新的value替换旧的value
get(K key):通过key查找对应的value
remove(K key):删除key所对应的键值对
size():返回Map中键值对的数量
containsKey/containsValue : 判断Map中是否存在key/value
clear():清空Map
遍历:
键遍历 keySet() 返回Map中所有key的集合 Set
值遍历 values() 返回Map中所有value的集合 Collection
实现类:
HashMap 1.2 线程不安全 快 允许用null作为key或者value
LinkedHashMap HashMap子类 维护元素添加到Map中的顺序
TreeMap SortedMap(Map的子接口)的实现类 自动对key排序
Hashtable 1.0 线程安全 慢 不允许用null作为key或者value
Properties Hashtable子类 key和value都是String 用于读取配置文件
接口特点
常用方法
遍历
实现类
泛型
Collection
接口特点: 元素是Object
常用方法:
add(Object o):将对象o添加到集合中
addAll(Collection c):将集合c中所有的元素添加到集合中
clear():清空集合
contains(Object o):判断集合中是否存在元素o
remove(Object o):从集合中删除元素o
size():返回集合的长度
toArray():将集合转为数组
遍历:
迭代遍历 for-each
实现类:无
List Collection的子接口
接口特点: 元素是Object 有顺序(下标) 元素可以重复
常用方法:
add(int pos,Object o):将对象o插入到pos下标
get(int pos):获得pos下标的元素
indexOf(Object o):获得o在集合中的下标
remove(int pos):删除pos下标的元素
set(int pos,Object o):将pos下标位置替换为对象o
遍历:
1.下标遍历
2.迭代遍历 for-each
实现类:
1. ArrayList 数组实现 查询快 增删慢 1.2 线程不安全 快
2. LinkedList 链表实现 查询慢 增删快
3. Vector 数组实现 1.0 线程安全 慢
泛型:JDK5.0
用在集合上:实现类型安全的集合,指定集合中元素的类型
Collections 工具类
reverse(List list):将list中的元素反转排列
shuffle(List list):将list中的元素随机打乱次序
sort(List list):为list中的元素排序 元素要实现Comparable接口,实现排序规则
Set Collection的子接口
接口特点: 元素是Object 无顺序 元素内容不可重复
常用方法: 无
遍历: 迭代遍历 for-each
实现类:
HashSet
自定义的对象放入HashSet,为了元素内容不重复,应该:
1)覆盖hashCode()方法,保证内容相同的对象返回相同的int
为了提高效率, 尽量保证内容不同的对象返回不同的int
2)覆盖equals()方法,保证内容相同的对象返回true
LinkedHashSet HashSet的子类 维护元素添加到集合中的顺序
TreeSet SortedSet(Set的子接口)的实现类 自动排序
Map
接口特点:
元素是键值对(key-value) key:无顺序 不可重复 唯一 value:可以重复
常用方法:
put(K key,V value):把key-value放入Map 如果key已存在,新的value替换旧的value
get(K key):通过key查找对应的value
remove(K key):删除key所对应的键值对
size():返回Map中键值对的数量
containsKey/containsValue : 判断Map中是否存在key/value
clear():清空Map
遍历:
键遍历 keySet() 返回Map中所有key的集合 Set
值遍历 values() 返回Map中所有value的集合 Collection
实现类:
HashMap 1.2 线程不安全 快 允许用null作为key或者value
LinkedHashMap HashMap子类 维护元素添加到Map中的顺序
TreeMap SortedMap(Map的子接口)的实现类 自动对key排序
Hashtable 1.0 线程安全 慢 不允许用null作为key或者value
Properties Hashtable子类 key和value都是String 用于读取配置文件