• 双列集合Map的特点


      1 import java.util.HashMap;
      2 import java.util.Map;
      3 /**
      4  * 双列集合Map的特点:
      5  * 如果键是自定义对象,必须重写equals和hashcode方法  
      6  * @author 罗摩衔那
      7  *
      8  */
      9 public class Demo_Maps
     10 {
     11   public static void main(String[] args) 
     12   {     
     13     //自定义一个容器
     14       Map<IdCard,people>map=new HashMap<>();
     15       //初始两个键
     16       IdCard idcard1=new IdCard("张三丰", "001");
     17       IdCard idcard2=new IdCard("张三丰", "001");
     18       //对应键值
     19       map.put(idcard1, new people("张三丰", "男", "200"));
     20       map.put(idcard2, new people("张三丰", "男", "100"));
     21       System.out.println(map);
     22   }
     23 }
     24 
     25 class people
     26 {
     27     private String name;
     28     private String gender;
     29     private String age;
     30     
     31     public people(String name,String gender,String age)
     32     {
     33         this.name=name;
     34         this.gender=gender;
     35         this.age=age;
     36     }
     37 
     38     @Override
     39     public String toString() {
     40         return "name=" + name + ", gender=" + gender + ", age=" + age ;
     41     }
     42 
     43     @Override
     44     public int hashCode() {
     45         final int prime = 31;
     46         int result = 1;
     47         result = prime * result + ((age == null) ? 0 : age.hashCode());
     48         result = prime * result + ((gender == null) ? 0 : gender.hashCode());
     49         result = prime * result + ((name == null) ? 0 : name.hashCode());
     50         return result;
     51     }
     52 
     53     @Override
     54     public boolean equals(Object obj) {
     55         if (this == obj)
     56             return true;
     57         if (obj == null)
     58             return false;
     59         if (getClass() != obj.getClass())
     60             return false;
     61         people other = (people) obj;
     62         if (age == null) {
     63             if (other.age != null)
     64                 return false;
     65         } else if (!age.equals(other.age))
     66             return false;
     67         if (gender == null) {
     68             if (other.gender != null)
     69                 return false;
     70         } else if (!gender.equals(other.gender))
     71             return false;
     72         if (name == null) {
     73             if (other.name != null)
     74                 return false;
     75         } else if (!name.equals(other.name))
     76             return false;
     77         return true;
     78     }    
     79     
     80 }
     81 
     82 class IdCard
     83 {
     84     private String name;
     85     private String ID;
     86     public  IdCard(String name,String ID)
     87     {
     88         this.name=name;
     89         this.ID=ID;        
     90     }
     91     @Override
     92     public String toString() {
     93         return "name=" + name + ", ID=" + ID ;
     94     }
     95     @Override
     96     public int hashCode() {
     97         final int prime = 31;
     98         int result = 1;
     99         result = prime * result + ((ID == null) ? 0 : ID.hashCode());
    100         result = prime * result + ((name == null) ? 0 : name.hashCode());
    101         return result;
    102     }
    103     @Override
    104     public boolean equals(Object obj) {
    105         if (this == obj)
    106             return true;
    107         if (obj == null)
    108             return false;
    109         if (getClass() != obj.getClass())
    110             return false;
    111         IdCard other = (IdCard) obj;
    112         if (ID == null) {
    113             if (other.ID != null)
    114                 return false;
    115         } else if (!ID.equals(other.ID))
    116             return false;
    117         if (name == null) {
    118             if (other.name != null)
    119                 return false;
    120         } else if (!name.equals(other.name))
    121             return false;
    122         return true;
    123     }
    124 }

     1 import java.util.HashMap;
     2 import java.util.Map;
     3 /**
     4  * 双列集合Map的特点:
     5  *  键值对只能是意义对应
     6  *     添加键值对的时候出现了键重复,新的值会把对应的之前的值覆盖
     7  *   
     8  * @author 罗摩衔那
     9  *
    10  */
    11 public class Demo_Maps
    12 {
    13   public static void main(String[] args) 
    14   {
    15      Map<String,String>map=new HashMap<>();
    16      map.put("001", "刘亦菲");
    17      map.put("002", "迪丽热巴");
    18      System.out.println(map);
    19      map.put("001", "赵灵儿");
    20      System.out.println(map);
    21   }
    22 }

  • 相关阅读:
    StopAllSounds
    GotoAndPlay
    区间(interval)
    因数(factor)
    [HAOI2009]逆序对数列
    生物分子gene
    数轴line
    [SCOI2008]配对
    精力(power)
    bzoj4987: Tree(树形dp)
  • 原文地址:https://www.cnblogs.com/zjm1999/p/10043119.html
Copyright © 2020-2023  润新知