A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一 、Map:将键映射到值的对象。Map集合没有迭代器!Map集合特点:该集合存储键值对。而且键是唯一的。
|--->方法摘要:
|--->添加:
V put(K key, V value) 将指定的值与此映射中的指定键关联(可选操作)。
void putAll(Map<? extends K,? extends V> m) 从指定映射中将所有映射关系复制到此映射中
|--->删除:
void clear() 从此映射中移除所有映射关系(可选操作)。
V remove(Object key) 如果存在一个键的映射关系,则将其从此映射中移除(可选操作)。
|--->判断
boolean containsKey(Object key) 如果此映射包含指定键的映射关系,则返回 true。
boolean containsValue(Object value) 如果此映射将一个或多个键映射到指定值,则返回 true。
boolean isEmpty() 如果此映射未包含键-值映射关系,则返回 true。
|--->获取
int size() 返回此映射中的键-值映射关系数。
Collection<V> values() 返回此映射中包含的值的 Collection视图。
重点:Map集合没有迭代器,以下是Map的两种取出方式:
第一种:Set<K> keySet()
返回此映射中包含的键的Set视图,将Map集合中所有的键存入Set集合,然后再通过Set集合的
迭代器取出所有的键,再根据get方法获取每个键的值;
第二种:Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射关系的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<E> iterator()
返回在此 collection 的元素上进行迭代的迭代器。
Iterator<E> iterator()
返回在此 set 中的元素上进行迭代的迭代器。
(3)
迭代器方法:
boolean hasNext()
如果仍有元素可以迭代,则返回 true
E next()
返回迭代的下一个元素。
void remove()
从迭代器指向的collection中移除迭代器返回的最后一个元素(可选操作)。



0 个回复

您需要登录后才可以回帖 登录 | 加入黑马