码迷,mamicode.com
首页 > 其他好文 > 详细

【集合】Map、HashMap

时间:2018-03-18 00:13:34      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:Map   HashMap   Entry   

import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class Main { /**  * Map  * 1.java.util包  * 2.接口 Map<K,V>  * 3.映射顺序  *   某些映射实现可明确保证其顺序,如 TreeMap 类  *   另一些映射实现则不保证顺序    ,如 HashMap 类  * 4.key不能重复,但是只允许key有一个空值  * */ public static void main(String[] args) { // 1.生成一个HashMap Map<String,String> map1=new HashMap<String,String>(); // 2.添加元素,这个是无顺序的 map1.put("吕布", "奉先"); map1.put("赵云", "子龙"); map1.put("典韦", "无字"); map1.put("马超", "孟起"); map1.put("关羽", "云长"); map1.put("关羽", "二爷");    // 同名key,value会覆盖前面的值 map1.put(null, "孔明");     // 可以有一个null值 map1.put(null, "卧龙"); map1.put("", "庞统"); map1.put("", "凤雏"); System.out.println(map1);  // {关羽=二爷, null=卧龙, =凤雏, 吕布=奉先, 典韦=无字, 马超=孟起, 赵云=子龙} // 3.定义另一个map2,放到map1里面 Map<String,String> map2=new HashMap<String,String>(); map2.put("孙尚香","枭姬"); map2.put("貂蝉", "闭月"); map1.putAll(map2); System.out.println(map1); // {关羽=二爷, null=卧龙, =凤雏, 吕布=奉先, 典韦=无字, 貂蝉=闭月, 马超=孟起, 孙尚香=枭姬, 赵云=子龙} // 4.通过key获取value的值,get不到这个key就会返回空 String str41=map2.get("貂蝉"); System.out.println("str41 : "+str41);  // 闭月 String str42=map2.get("西施"); System.out.println("str42 : "+str42);  // null // 5.移除key String str5=map2.remove("貂蝉"); System.out.println("str5 : "+str5);        // 闭月 String str5_1=map2.get("貂蝉"); System.out.println("str5_1 : "+str5_1);    // null System.out.println(map2);  // {孙尚香=枭姬} System.out.println(map1);  // {关羽=二爷, null=卧龙, =凤雏, 吕布=奉先, 典韦=无字, 貂蝉=闭月, 马超=孟起, 孙尚香=枭姬, 赵云=子龙} // 6.拿到map1中的所有key的集合 // 循环通过key获取value Set<String> set=map1.keySet(); System.out.println(set);   // [关羽, null, , 吕布, 典韦, 貂蝉, 马超, 孙尚香, 赵云] for(String str:set) { String str6=map1.get(str); System.out.println("str6 : "+str6); // str6 : 二爷 // str6 : 卧龙 // str6 : 凤雏 // str6 : 奉先 // str6 : 无字 // str6 : 闭月 // str6 : 孟起 // str6 : 枭姬 // str6 : 子龙 } // 7.map1是否包含指定key,指定value,map是否是空的 boolean b1=map1.containsKey("吕布"); boolean b2=map1.containsValue("翼德"); boolean b3=map1.isEmpty(); System.out.println(b1);  // true System.out.println(b2);  // false System.out.println(b3);  // false // 8.另一种循环获取key value的方法 // set8相当于Person类的对象,可以使用Person类的方法 // en  相当于String类的对象,可以使用String类的方法 Set<Entry<String, String>> set8=map1.entrySet(); for(Entry<String, String> en:set8) { String key  =en.getKey(); String value=en.getValue(); System.out.println("key : "+key+", value : "+value); //   key : 关羽, value : 二爷 //   key : null, value : 卧龙 //   key : , value : 凤雏 //   key : 吕布, value : 奉先 //   key : 典韦, value : 无字 //   key : 貂蝉, value : 闭月 //   key : 马超, value : 孟起 //   key : 孙尚香, value : 枭姬 //   key : 赵云, value : 子龙 } } }

【集合】Map、HashMap

标签:Map   HashMap   Entry   

原文地址:http://blog.51cto.com/13634837/2088007

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!