java--Map容器、泛型(Generic)
2017-04-23 本文已影响0人
exmexm
如何选择数据结构
衡量的标准是:读的速度和改的速率
(1)Array读快改慢
(2)Linked改快读慢
(3)Hash位于两者之间
一、Map接口
实现Map接口的类用来存储键值对。
Map接口的实现类有HashMap和TreeMap等
Map类中的存储键值对通过键来标识,所以键值不能重复。
//返回原来的value值
Object put(Object key, Object value)
Object get(Object key)
Object remove(Object key)
boolean containsKey(Object key)
boolean containsValue(Object value)
int size()
bolean isEmpty()
void putAll(Map t)
void clear()
Auto-boxing:自动打包
自动将基础类型转换为对象
unboxing:解包
自动将对象转换为基础类型
二、泛型
引用泛型前,装入集合的类型都被当做Object对待,从而失去自己的类型。
从集合中取出来往往需要转型,效率低,容易产生错误。
解决 方法:
在定义集合的同时定义集合对象的类型。
注:
可以在定义Collection的时候指定。
也可以在循环Iterator指定。
好处:增强程序的可读性。
使用方法就是直接在定义容器时指定容器可以装什么类型的对象;
或者定义Iterator时也是直接指定迭代器的对象类型。
List<String> list = new ArrayList<String>();
Iterator<String> i = list.iterator();