Map:
概述:
将键映射到值得对象,一个映射不能包含重复的键,每个键最多只能映射一个值;
Map和Collection的区别:
1.Map是双列的,Collection是单列的;
2.Map的键唯一,Collection的子体系Set是唯一的;
3.Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结果是针对元素有效;
成员方法:
1.添加功能:
V put(K key,V value):添加元素;
2.删除功能:
void clear():移除所有键值对元素;
V remove(Object key):根据键删除键值对元素,并把值返回;
3.判断功能:
boolean containsKey(Object key):判断集合是否包含指定的键;
boolean containsValue(Object value):判断集合是否包含指定的值;
boolean isEmpty():判断集合是否为空;
4.获取功能:
Set<Map.Entry<K,V>> entryset:获取键值对集合;(V getValue():获取值; E getKey():获取键)
V get(Object key):根据键获取值;
Set<K> keySet():获取集合中键的集合;
Collection<V> values():获取集合中值的集合;
5.长度功能:
int size():返回集合中键值对的个数;
HashMap类:
概述:
键是哈希表结构,可以保证键的唯一性;
LinkedHashMap类:
概述:
Map接口的哈希表和链表实现,具有可预知的迭代顺序;
TreeMap类:
概述:
键是红黑树结构,可以保证键的排序和唯一性;
HashMap和Hashtable(没错,t就是小写)的区别:
HashMap:线程安全,效率高,允许null键和null值;
Hashtable:线程安全,效率低,不允许null键和null值;
Collections类:
概述:
针对集合操作的工具类;
成员方法:
1.public static <T> void sort(List<T> list):排序;
2.public static <T> void sort(List<T> list,comparatpr c):比较器排序;
3.public static <T> T max(Collection<?> loll):最大值;
4.public static void reverse(List<?> list):反转;
5.public static void shuffle(List<?> list):打乱顺序;
try…catch:
注意事项:
1.能明确的异常类型尽量明确,不要用其父类来处理;
2.在用try..catch..catch,多个catch来处理异常时,平级异常前后顺序无所谓,但出现子父类关系,父类异常应放于最后一个catch中;
3.try中的语句越少越好;