Map

Map

 

  也是存放数据的集合
  key,value:映射关系
  Map<Key的数据类型,value的数据类型>();
  Map中key值不能相同
  put(k,v);存一对
  putAll();存一组

  remove(k)删除一对
  clear();清空

  get(key)获得所对应的value
  values();获得map中所有value
  entrySet();获得其entry集合,以set形式返回
  Entry
  keySet():获得集合中的所有key的集合,以set形式返回
  isEmpty():判断map是否为空,如果没有元素则返回true

HashMap

HashMap
不是同步的
允许空键,空值

Hashtable
同步的

 

TreeMap
不是同步的
不能空键
key必须拥有可比较性(key所在的类必须实现comparable接口)

 

 1 package com.qf.hashmapdemo;
 2 
 3 import java.util.Collection;
 4 import java.util.HashMap;
 5 import java.util.Map;
 6 import java.util.Map.Entry;
 7 import java.util.Set;
 8 
 9 import com.qf.bean.Person;
10 
11 public class HashMapDemo {
12     public static void main(String[] args) {
13 //        Map<String,Object> map = new HashMap<String, Object>();
14 //        //使用put方法存值
15 //        //如果key值相同后者会覆盖前者
16 //        map.put("魏玉森", new Person("森少", 21));
17 //        map.put("魏玉森", new Person("魏玉森", 21));
18 //        map.put("杨林川", new Person("老司机", 16));
19 //        map.put("聂兴德", new Person("聂兴德", 18));
20 //        map.put("小轩", new Person("小轩", 17));
21 //        map.put("高磊", new Person("小磊", 18));
22 //        //获取key的set集合
23 //        Set<String> keySet = map.keySet();
24 //        for (String string : keySet) {
25 //            System.out.print(string+",");
26 //            //获取value
27 //            System.out.println(map.get(string));
28 //        }
29         
30         HashMap<Person,String> hashMap = new HashMap<Person, String>();
31         Person p1 = new Person("高磊", 17);
32         Person p2 = new Person("战三", 19);
33         Person p3 = new Person("a", 19);
34         Person p4 = new Person("b", 19);
35         Person p5 = new Person("c", 19);
36         hashMap.put(p1, "石头");
37         hashMap.put(p2, "三三");
38         hashMap.put(p3, "三三");
39         hashMap.put(p4, "三三");
40         hashMap.put(p5, "三三");
41         hashMap.put(null, null);
42         //移除一对,返回value
43         String remove = hashMap.remove(p1);
44         System.out.println(remove);
45         //清空map
46 //        hashMap.clear();
47         //判断map是否为空
48         boolean empty = hashMap.isEmpty();
49         System.out.println(empty);
50         Set<Entry<Person,String>> entrySet = hashMap.entrySet();
51         for (Entry<Person, String> entry : entrySet) {
52             Person key = entry.getKey();
53             String value = entry.getValue();
54             System.out.println(key+","+value);
55         }
56         Collection<String> values = hashMap.values();
57         for (String string : values) {
58             System.out.println(string);
59         }
60     }
61 }

 

主方法

 1 package com.qf.bean;
 2 
 3 public class Person {
 4     private String name;
 5     private int age;
 6     public Person(String name, int age) {
 7         super();
 8         this.name = name;
 9         this.age = age;
10     }
11     @Override
12     public String toString() {
13         return "Person [name=" + name + ", age=" + age + "]";
14     };
15     
16 }

 

posted on 2016-08-13 16:40  逆光Backlight  阅读(182)  评论(0编辑  收藏  举报