首页 > 代码库 > 集合框架06

集合框架06

一、Map接口

 1 public class Demo01 {
 2     /*
 3      * Map接口中的常用方法
 4      * 使用Map接口的实现类HashMap
 5      */
 6     public static void main(String[] args) {
 7         //function();
 8         function_2();
 9     }
10     /*
11      * 将键值对存储到集合中
12      * V put(K,V) K作为键的对象,V作为值得对象
13      * 存储的是重复的键,会覆盖值
14      * 返回值一般是空
15      */
16     public static void function(){
17         Map<String,Integer> map = new HashMap<String,Integer>();
18         map.put("a", 1);
19         map.put("b", 2);
20         map.put("c", 3);
21         
22         System.out.println(map);
23     }
24     /*
25      * 通过键,获取值
26      * V get(K)
27      * 如果集合没有指定的键,返回NULL
28      */
29     public static void function_1(){
30         Map<String,Integer> map = new HashMap<String,Integer>();
31         map.put("a", 1);
32         map.put("b", 2);
33         map.put("c", 3);
34         System.out.println(map);
35         
36         System.out.println(map.get("a"));
37         System.out.println(map.get("v"));
38     }
39     /*
40      * 移除集合中的键值对,返回被移除的值
41      * V remove(K)
42      */
43     public static void function_2(){
44         Map<String,Integer> map = new HashMap<String,Integer>();
45         map.put("a", 1);
46         map.put("b", 2);
47         map.put("c", 3);
48         System.out.println(map);
49         
50         Integer i = map.remove("a");
51         System.out.println(i);
52         System.out.println(map);
53     }
54 }
 1 public class Demo02 {
 2     /*
 3      * Map集合的遍历
 4      *     利用键获取值
 5      *     Map接口中定义方法keySet
 6      *     所有的键,存储到Set集合 
 7      */
 8     public static void main(String[] args) {
 9         /*
10          * 1.调用map集合的方法KeySet,所有的键存储到Set集合中
11          * 2.遍历Set集合,获取出Set集合中所有的元素(map中的键)
12          * 3.调用map集合方法get,通过键获取值
13          */
14         Map<String,Integer> map = new HashMap<String,Integer>();
15         map.put("a1", 11);
16         map.put("a2", 12);
17         map.put("a3", 13);
18         map.put("a4", 14);
19         map.put("a5", 15);
20         
21         Set<String> set = map.keySet();
22         System.out.println(set.getClass());   //java.util.HashMap$KeySet HashMap的内部类KeySet
23         Iterator<String> it = set.iterator();
24         while(it.hasNext()){
25             //it.next返回的是Map中的键
26             String key = it.next();
27             Integer value =http://www.mamicode.com/ map.get(key);
28             System.out.println(key+":"+value);
29         }
30         System.out.println("===========");
31         for(String key:set){
32             Integer value =http://www.mamicode.com/ map.get(key);
33             System.out.println(key+":"+value);
34         }
35     }
36 }
 1 public class Demo03 {
 2     /*
 3      * Map集合获取方法
 4      * entrySet方法,键值对映射关系
 5      * 实现步骤:
 6      *     1.调用map集合方法entrySet()将集合中的映射关系对象,存储到Set集合
 7      *         Set<Entry<K,V>>
 8      *     2.迭代Set集合
 9      *     3.获取出的Set集合的元素,是映射关系
10      *     4.通过映射关系对象方法getKet,getValue获取键值对
11      */
12     public static void main(String[] args) {
13         Map<Integer,String> map = new HashMap<Integer,String>();
14         map.put(11, "a1");
15         map.put(12, "a2");
16         map.put(13, "a3");
17         map.put(14, "a4");
18         map.put(15, "a5");
19         
20         Set<Map.Entry<Integer,String>> set = map.entrySet();
21         Iterator <Map.Entry<Integer,String>> it = set.iterator();
22         while(it.hasNext()){
23             //it.next 获取的是Map.Entry对象
24             Map.Entry<Integer, String> entry = it.next();
25             Integer key = entry.getKey();
26             String value =http://www.mamicode.com/ entry.getValue();
27             System.out.println(key+":"+value);
28         }        
29         System.out.println("=======");
30         for(Map.Entry<Integer, String> entry:map.entrySet()){//增强for不能直接遍历Map
31             System.out.println(entry.getKey()+":"+entry.getValue());
32         }
33     }
34 }

 

集合框架06