关于map


   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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值