java Map
2014-03-20 13:20
357 查看
什么是map?
答:映射关系,也有人称为字典,Map集合里存在两组值,一组是key,一组是value。
注意:
1、Map里的key不允许重复。通过key总能找到唯一的value与之对应。
2、Map里的key集存储方式和对应的Set集合中的元素存储方式一致;
例子:
学生都有一个学号,我们能点学号就能找到某个学生,好比这个学号就是key,学生就是value。
Map.Entry是Map接口的内部接口,专门用来保存key-value内容。
如何遍历map中的元素?
答:
按照最正统的做法,所有的Map集合的内容都要依靠Iterator输出,以上虽然是完成了输出,
但是完成的不标准,Map集合本身并不能直接为Iterator实例化,如果此时非要使用Iterator
输出Map集合中内容的话,则要采用如下的步骤:
方法一:
1.通过entrySet方法变成Set对象
2.调用Set的Iterator方法,此时每个Iterator对象是Map.Entry对象
3.对Map.Entry分离出 key - value
方法二:
1.通过keySet得到Map集合多有key的Set集合
2.调用Set的Iterator方法,此时每个Iterator对象是key值
3.通过Map的getValue(key)得到value值
//1、遍历map中的元素
// Set<Integer> keys = map.keySet();
// for(Integer key : keys){
// String value = map.get(key);
// System.out.println(key+"="+value);
// }
//2、遍历map中的元素
Set<Map.Entry<Integer, String>> entries = map.entrySet();
for(Map.Entry<Integer, String> entry : entries){
System.out.println(entry.getKey()+"="+entry.getValue());
}
答:映射关系,也有人称为字典,Map集合里存在两组值,一组是key,一组是value。
注意:
1、Map里的key不允许重复。通过key总能找到唯一的value与之对应。
2、Map里的key集存储方式和对应的Set集合中的元素存储方式一致;
例子:
学生都有一个学号,我们能点学号就能找到某个学生,好比这个学号就是key,学生就是value。
Map.Entry是Map接口的内部接口,专门用来保存key-value内容。
如何遍历map中的元素?
答:
按照最正统的做法,所有的Map集合的内容都要依靠Iterator输出,以上虽然是完成了输出,
但是完成的不标准,Map集合本身并不能直接为Iterator实例化,如果此时非要使用Iterator
输出Map集合中内容的话,则要采用如下的步骤:
方法一:
1.通过entrySet方法变成Set对象
2.调用Set的Iterator方法,此时每个Iterator对象是Map.Entry对象
3.对Map.Entry分离出 key - value
方法二:
1.通过keySet得到Map集合多有key的Set集合
2.调用Set的Iterator方法,此时每个Iterator对象是key值
3.通过Map的getValue(key)得到value值
//1、遍历map中的元素
// Set<Integer> keys = map.keySet();
// for(Integer key : keys){
// String value = map.get(key);
// System.out.println(key+"="+value);
// }
//2、遍历map中的元素
Set<Map.Entry<Integer, String>> entries = map.entrySet();
for(Map.Entry<Integer, String> entry : entries){
System.out.println(entry.getKey()+"="+entry.getValue());
}
代码:<pre code_snippet_id="246672" snippet_file_name="blog_20140320_1_3371977" name="code" class="java">package net.mylearner.a3_20_pm; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.Map.Entry; public class MapDemo { public static void main(String[] args) { Map<Integer, String> students = new HashMap<Integer, String>(); students.put(1, "name1"); students.put(2, "name2"); students.put(3, "name3"); // 如何遍历map中的元素? // 1、 // System.out.println(students.size()); System.out.println("方法一:"); Set<Integer> key = students.keySet(); for (Integer integer : key) { System.out.println(integer + " " + students.get(integer)); } // 2、 System.out.println("方法二:"); Set<Map.Entry<Integer, String>> setStudents = students.entrySet(); for (Entry<Integer, String> entry : setStudents) { System.out.println(entry.getKey()+": "+entry.getValue()); } // void clear() // 从此映射中移除所有映射关系。 // Object clone() // 返回此 HashMap 实例的浅表复制:并不克隆键和值本身。 // boolean containsKey(Object key) // 如果此映射包含对于指定的键的映射关系,则返回 true。 // boolean containsValue(Object value) // 如果此映射将一个或多个键映射到指定值,则返回 true。 // Set<Map.Entry<K,V>> entrySet() // 返回此映射所包含的映射关系的 collection 视图。 // V get(Object key) // 返回指定键在此标识哈希映射中所映射的值,如果对于此键来说 // ,映射不包含任何映射关系,则返回 null。 // boolean isEmpty() // 如果此映射不包含键-值映射关系,则返回 true。 // Set<K> keySet() // 返回此映射中所包含的键的 set 视图。 // V put(K key, V value) // 在此映射中关联指定值与指定键。 // void putAll(Map<? extends K,? extends V> m) // 将指定映射的所有映射关系复制到此映射中,这些映射关系将替换 // 此映射目前针对指定映射的所有键的所有映射关系。 // V remove(Object key) // 如果此映射中存在该键的映射关系,则将其删除。 // int size() // 返回此映射中的键-值映射关系数。 // Collection<V> values() // 返回此映射所包含的值的 collection 视图 } }
相关文章推荐
- 浅谈Java中的Set、List、Map的区别(1)
- Java集合之Map
- Java数据结构 map集合的两种取出方式
- Java Map遍历方式的选择
- java的map和list的操作
- Java 集合转换(数组、List、Set、Map相互转换)
- java.lang.VerifyError: Inconsistent stackmap frames at branch target ? 解决
- Caused by: java.lang.NoSuchMethodError: java.util.TreeMap.firstEntry()Ljava/util/Map$Entry;
- Java中的Set, List, Map漫谈
- java容器(二) List,Set,Map区别
- Java多线程 -- Map容器性能比较
- 黑马程序员:Java基础总结----Map集合
- 【转】Java中如何遍历Map对象的4种方法
- JAVA中List、Map、Set的区别与选用
- Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/LRUMap
- Java Map 集合类简介
- Java容器类List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- 大型网站技术架构(四)--核心架构要素 开启mac上印象笔记的代码块 大型网站技术架构(三)--架构模式 JDK8 stream toMap() java.lang.IllegalStateException: Duplicate key异常解决(key重复)
- 浅析Java中Map与HashMap,Hashtable,HashSet的区别
- java Map输出字符串中字母出现的次数