更新时间:2018年08月06日14时00分 来源:传智播客 浏览次数:
一 、Map:将键映射到值的对象。Map集合没有迭代器!Map集合特点:该集合存储键值对。而且键是唯一的。
|--->方法摘要:
|--->添加:
V put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。
void putAll(Mapm) 从指定映射中将所有映射关系复制到此映射中
|--->删除:
void clear() 从此映射中移除所有映射关系(可选操作)。
V remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
|--->判断
boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
boolean isEmpty() 如果此映射未包含键-值映射关系,则返回 true。
|--->获取
int size() 返回此映射中的键-值映射关系数。
Collection
重点:Map集合没有迭代器,以下是Map的两种取出方式:
第一种:Set
返回此映射中包含的键的Set视图,将Map集合中所有的键存入Set集合,然后再通过Set集合的
迭代器取出所有的键,再根据get方法获取每个键的值;
第二种:Set
返回此映射中包含的映射关系的Set视图,将Map集合中的映射关系存入到Set集合中,
这个映射关系的数据类型是Map.entry,再通过Map.Entry类的方法再要取出关系里面的键和值
Map.Entry的方法摘要:
boolean equals(Object o) 比较指定对象与此项的相等性。
K getKey() 返回与此项对应的键。
V getValue() 返回与此项对应的值。
int hashCode() 返回此映射项的哈希码值。
V setValue(V value) 用指定的值替换与此项对应的值(特有!!!)。
二 、Map集合和Collection集合的区别?
1,
Map中一次存储是键值对。
Collection中一次存储是单个元素。
2,
Map的存储使用的put方法。
Collection存储使用的是add方法。
3,
Map集合没有迭代器,Map的取出,是将Map转成Set,在使用迭代器取出。
Collection取出,使用就是迭代器。
4,
如果对象很多,必须使用集合存储。
如果元素存在着映射关系,可以优先考虑使用Map存储或者用数组,
如果没有映射关系,可以使用Collection存储。
8、迭代器:Iterator(Map集合没有迭代器)
(1)迭代器就是取出集合元素的方式
(2)迭代器的作用
因为每个集合中元素的取出方式都不一样,于是就把元素的取出方式进行抽取,并定义在集合内部,
这样取出方式就可以直接访问集合内部的元素;
而每个容器的数据结构不同,所以取出动作的细节也不一样,但是有共性内容:判断和取出。
那么就将共性内容进行抽取,从而形成了接口Iterater
(3)获取迭代器的方法:
Iterator
Iterator
(3)迭代器方法:
boolean hasNext() 如果仍有元素可以迭代,则返回 true。
E next() 返回迭代的下一个元素。
void remove() 从迭代器指向的collection中移除迭代器返回的最后一个元素(可选操作)。
作者:传智播客JavaEE培训学院