java中的map基本使用那几个方法(亲手试验过的)

package collection;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MyMap {

 /**
  * @param args
  */
 public static void main(String[] args) {
//    首先意味是value不能为int,下面此行就报错了
//     Map<int, int> map=new HashMap<int, int>();
//  再次尝试发现 key为int类型 value为String 类型也不行,下面此行再次就报错了
//     Map<int, String> map=new HashMap<int, String>();
  //最后自己认为是map的key和value都必须是对象类型(包括封装类型)下面此行就不报错了
//     Map<Integer, String> map=new HashMap<Integer, String>();
//  下面此行也就不报错了
//     Map<User, String> map=new HashMap<User, String>();
     Map<String, String> map=new HashMap<String, String>();
     map.put("1", "zhangsan");
     map.put("2", "lisi");
     map.put("3", "wangwu");
   //首先是遍历map
     Set<String> set= map.keySet();//获得所有map的key值,存放在set里面
     map.remove("2");//移除key等于2的键值对,急即就是lisi没了
     for(Iterator<String> iterator=set.iterator();iterator.hasNext();){
      String str=iterator.next();
      if(iterator.hasNext()){
       System.out.print(map.get(str)+" ");//打印出来
      }else{
       System.out.println(map.get(str));//打印出来
      }
      //打印为wangwu  zhangsan
     }
     //其次如果此映射未包含键-值映射关系,则返回 true。
     System.out.println(map.isEmpty());//此处返回false
     //是否包含某key键
     System.out.println(map.containsKey("1"));//此处返回true证明存在该key键
     //hash码
     System.out.println(map.hashCode());//打印2070547704
     //当且仅当此映射至少包含一个对满足 (value==null ? v==null : value.equals(v)) 的值 v 的映射关系时
     //System.out.println(map.containsValue("aa"));//效率不好 最好不用。containsKey效率高些
     System.out.println(map.size());//map俩面又几个键值对
 }

}


猜你喜欢

转载自blog.51cto.com/10983206/2564406