Map集合

注意:
看到array,就要想到角标。看到link,就要想到first,last。看到hash,就要想到hashCode,equals,看到tree,就要想到两个接口(Comparable和Comparator)

Map和Collection在集合框架中属并列存在。
1:Map存储的是键值对
2:Map存储元素使用put方法,Collection使用add方法
3:Map集合中没有直接取出元素的方法,而是转为Set集合,再通过迭代获取元素
4:Map集合中键要保持唯一性。
换句话说,Collection是单列集合,Map是双列集合

总结:
Map一次存入一对元素,Collection一次存一个,Map的键不能重复,保证唯一。
Map一次存入一对元素,是以键值对的形式存在。键与值存在映射关系,一定要保证键的唯一性。

Map的常用方法
1:添加
V put(K key, V value) (可以相同的key值,但是添加的value值会覆盖前面的,返回值是前一个,如果没有就返回null)
putAll(Map m) 从指定映射中将所有映射关系复制到此映射中(可选操作)。
2:删除
remove() 删除关联对象,指定key对象
clear() 清空集合对象

3:获取
value get(key) 可以用来判断键是否存在的情况。当指定的键不存在的时候,返回的是null

4:判断
boolean isEmpty() 长度为0返回true否则false
boolean containsKey(Object key)判断集合中是否包含指定的key
boolean containsValue(Object value) 判断集合中是否包含指定的value

5:长度
int size()

6:获取功能
获取功能
Set<Map.Entry<K,V>> entrySet():
V get(Object key):根据键获取值
Set<K> keySet():获取集合中所有键的集合
Collection<V> values():获取集合中所有值的集合

示例:

public class MapDemo {
    public static void main(String[] args) {
// 创建集合对象
    Map<String, String> map = new HashMap<String, String>();

// 添加元素
// V put(K key,V value):添加元素。这个其实还有另一个功能?先不告诉你,等会讲
// System.out.println("put:" + map.put("文章", "马伊俐"));
// System.out.println("put:" + map.put("文章", "姚笛"));

map.put("邓超", "孙俪");
map.put("黄晓明", "杨颖");
map.put("周杰伦", "蔡依林");
map.put("刘恺威", "杨幂");

// void clear():移除所有的键值对元素
// map.clear();

// V remove(Object key):根据键删除键值对元素,并把值返回
// System.out.println("remove:" + map.remove("黄晓明"));
// System.out.println("remove:" + map.remove("黄晓波"));
// boolean containsKey(Object key):判断集合是否包含指定的键
// System.out.println("containsKey:" + map.containsKey("黄晓明"));
// System.out.println("containsKey:" + map.containsKey("黄晓波"));
// boolean isEmpty():判断集合是否为空
// System.out.println("isEmpty:"+map.isEmpty());
//int size():返回集合中的键值对的对数
System.out.println("size:"+map.size());
// 输出集合名称
System.out.println("map:" + map);
    }
}

注意:Map没有迭代器,所以想取出map中的所有元素必须通过keySet()方法获取map中所有的键所在的set集合,再通过set的迭代器获取每一个键,再对每一个键通过map集合的get()方法获取其对应的值即可。

Map集合:keySet()方法
之前讲Mpa集合时,Map集合是用来存储一对key-value两个对象,既然存储的是两个对象,那么能不能只获取其中一个所有对象?
可以。Map集合属于双列集合,里面有两个单列集合。

问题:Map中的key对象,Map应该使用哪个集合存储?
key必须保证唯一性(不能重复),使用Set集合存储。

Map中的keySet方法:获取Map集合中所有的key对象

Map集合:entrySet()方法
Map集合中存储的是一对key-value的映射关系(对应关系 、键值关系)
映射关系:key-value对应关系。

映射关系在底层代码上怎么体现:Map.Entry来存储key-value映射关系

Map集合的entrySet方法:获取Map集合中所有的key-value映射关系

映射关系类型:Map.Entry

map集合:values()方法
之前使用keySet方法可以获取 Map集合中的的所有key对象,而values方法就是获取Map集合中的的所有value对象

Map集合的values对象:获取集合中所有的value

参考博客:http://www.cnblogs.com/lwlxqlccc/p/6143887.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值