Map

来源:互联网 发布:美工怎么自学 编辑:程序博客网 时间:2024/06/08 00:44
HashMap:
?? 1.key使用Set来存放的,不可重复,value使用Collection来存放的,可重复
? 一个key-value对,是一个Entry,所有的Entry使用Set存放的,也是不可重复的
? 2.向HashMap中添加元素时,会调用key所在类的equals()方法,判断两个key是否相同
??
??
?@Test
?public void test(){
??Map map = new HashMap();
??map.put("AA", 123);
??map.put("BB", 456);
??//map.put("BB", 45);
??map.put(123, "CC");
??map.put(null, null);
??map.put(new Person("DD",23), 89);
??map.put(new Person("DD",23), 87);
??System.out.println(map.size());
??System.out.println(map);
??map.remove("BB");
??System.out.println(map);
??Object value = map.get(123);
??System.out.println(value);
??
?}
?
?@Test
?public void test2(){
??Map map = new HashMap();
??map.put("AA", 123);
??map.put("BB", 456);
??//map.put("BB", 45);
??map.put(123, "CC");
??map.put(null, null);
??map.put(new Person("DD",23), 89);
??map.put(new Person("DD",23), 87);
??
??1.遍历key键
??Set set = map.keySet();
??for (Object object : set) {
???System.out.println(object);
??}
??System.out.println();
??//2.遍历value集合
??Collection values = map.values();
??Iterator i = values.iterator();
??while (i.hasNext()) {
???System.out.println(i.next());
???
??}
??System.out.println();
??//3.如何遍历key-value对
??//方式一:
??Set set1 = map.keySet();
??for (Object object : set1) {
???System.out.println(object + "-->"+map.get(object));
??}
??System.out.println();
??//方式二:
??Set set2 = map.entrySet();
??for (Object object : set2) {
???Map.Entry entry = (Entry) object;
???System.out.println(entry.getKey()+"-->"+entry.getValue());
??}
??
?}
?//@Test
?public void test3(){
??Map map = new LinkedHashMap();
??map.put("AA", 123);
??map.put("BB", 456);
??//map.put("BB", 45);
??map.put(123, "CC");
??map.put(null, null);
??map.put(new Person("DD",23), 89);
??map.put(new Person("DD",23), 87);
??
??Set set = map.entrySet();
??for (Object object : set) {
???System.out.println(object);
??}
??
?}
?//@Test
?public void test4(){
??Map map = new TreeMap();
??map.put(new Person("AA",23),89);
??map.put(new Person("MM",22),79);
??map.put(new Person("GG",23),99);
??map.put(new Person("JJ",13),69);
??
??Set set = map.keySet();
??for (Object object : set) {
???System.out.println(object+"-->"+map.get(object));
??}
??
??
?}
?
?//@Test
?public void test5(){
??Comparator com = new Comparator() {
???@Override
???public int compare(Object o1, Object o2) {
????if(o1 instanceof Customer && o2 instanceof Customer){
?????Customer c1 = (Customer)o1;
?????Customer c2 = (Customer)o2;
?????int i = c1.getName().compareTo(c2.getName());
?????if( i ==0 ){
??????return c1.getName().compareTo(c2.getName());
?????}
?????return i;
????}
????return 0;
???}
??};
??
??TreeMap map = new TreeMap(com);
??map.put(new Person("AA",23),89);
??map.put(new Person("MM",22),79);
??map.put(new Person("GG",23),99);
??map.put(new Person("JJ",13),69);
??
??Set set = map.keySet();
??for (Object o : set) {
???System.out.println(o);
??}
??
??
?}
?@Test
?public void test6() throws FileNotFoundException, IOException{
??//使用Properties处理属性文件
??Properties p = new Properties();
??p.load(new FileInputStream(new File("jdbc.properties")));
??String user = p.getProperty("user");
??System.out.println(user);
}
}
原创粉丝点击