一:Map
Map用于保存具有映射关系的数据,Map集合里保存着两组值,一组用于保存Map的ley,另一组保存着Map的value,也就是Map的 键值 和关键值 。具体举例 ,和查字典类似,通过key找到对应的value,通过页数找到对应的信息。用学生类来说,key相当于学号,value对应name,age,sex等信息。用这种对应关系方便查找。
二:基础了解
package cn.wyj.two;/*** Map是一个接口,我们平时多用它的实现类HashMap。* 实现类 也是 继承 (继承结口)*/import java.util.HashMap;
import java.util.Map;public class Demo3_map {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubMap<Integer,String> m1 = new HashMap<Integer,String>();//这里需要用 HashMap 这是Map的实现类,//Map是接口不能new m1.put(1,"one");m1.put(2, "two");m1.put(3, "three");System.out.println(m1.get(2));System.out.println(m1.size());System.out.println(m1.isEmpty());System.out.println(m1.containsKey(1));//判断容器当中是否含有此键值的元素System.out.println(m1.containsValue("four"));Map<Integer,String> m2 = new HashMap<Integer,String>();m2.put(4, "four");m2.put(5, "five");m2.putAll(m1);System.out.println(m2); }}
三:进阶码(在一个类当中)
package cn.wyj.two;
import java.util.HashMap;
import java.util.Map;
public class Demo4_map2 {
/*** @param args*/
public static void main(String[] args) {// TODO Auto-generated method stubemployee e1 = new employee(1005, "王永杰", 50000);employee e2 = new employee(1002, "王二杰", 40000);employee e3 = new employee(1003, "王三杰", 30000);employee e4 = new employee(1001, "王四杰", 20000);Map<Integer,employee> m1 = new HashMap<Integer,employee>();m1.put(1005, e1);m1.put(1002, e2);m1.put(1003, e3);m1.put(1001, e4);employee emp = m1.get(1001);System.out.println("姓名:"+emp.getName()+",薪水:"+emp.getSlary());System.out.println(emp);//测试在Map容器当中不会有重复的元素,会直接将其覆盖掉 }
}
class employee{
private int id;
private String name;
private int slary;
public employee(int id, String name, int slary) {super();this.id = id;this.name = name;this.slary = slary;
}
public int getId() {return id;
}
public void setId(int id) {this.id = id;
}
public String getName() {return name;
}
public void setName(String name) {this.name = name;
}
public int getSlary() {return slary;
}
public void setSlary(int slary) {this.slary = slary;
}public String toString(){return "Id:" + this.id + " 姓名:" + this.name+" 薪水:" + this.slary;
}
}