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();  
上一篇下一篇

猜你喜欢

热点阅读