本帖最后由 小江哥 于 2018-8-25 14:58 编辑
知识点总结Map集合: map集合中的元素都是成对出现,成对存储的 map集合中的元素都是以一对键和值的形式组成存在的,称为键值对,理解为夫妻对 map集合中的键不能重复存储,值可以重复 map集合中的每一个键 对应着一个值 方法: V put(K key, V value) 把指定的键与指定的值添加到Map集合中 V remove(Object key) 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值 Set<Map.Entry<K,V>> entrySet() 获取到Map集合中所有的键值对对象的集合(Set集合) V get(Object key) 根据指定的键,在Map集合中获取对应的值 Set<K> keySet() 获取Map集合中所有的键,存储到Set集合中
Map集合遍历的两种方式 方式1:根据键找值的方式 //a, 获取到Map集合中所有的键,返回对应的Set集合 //b, 遍历键的集合,获取到每一个键 //c, 通过键,找到对应的值
//获取到Map集合中所有的键,返回对应的Set集合 Set<String> keys = map.keySet(); //遍历键的集合,获取到每一个键 for (String key : keys) { //通过键,找到对应的值 Student s = map.get(key); System.out.println( key + "..." + s.getName() + "..." + s.getAge() ); }
方式2:根据键值对对象找键和值的方式 //a, 获取Map集合中所有的键值对元素,返回对应的Set集合 //b, 遍历键值对元素集合,获取到每一个键值对元素对象 //c, 通过键值对元素对象,获取对应的键,和对应的值
//获取Map集合中所有的键值对元素,返回对应的Set集合 Set< Map.Entry<String, Student>> entrySet = map.entrySet(); //遍历键值对元素集合,获取到每一个键值对元素对象 for (Map.Entry<String, Student> entry : entrySet) { //通过键值对元素对象,获取对应的键,和对应的值 //找键 String key = entry.getKey(); //找值 Student s = entry.getValue(); //打印 System.out.println( key+"..."+s.getName()+"..."+s.getAge() ); }
HashMap: 特点: 是Map集合的子集合 底层采用哈希表结构 HashMap集合中的key不能重复,通过重写hashCode() 与 equals()方法来保证键的唯一。 不能保证元素存与取的顺序完全一致 LinkedHashMap: 特点: 是HashMap集合的子集合 底层采用哈希表+链表结构 LinkedHashMap集合中的key不能重复,通过重写hashCode() 与 equals()方法来保证键的唯一。
|