栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用两个(或多个)对象作为HashMap键

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用两个(或多个)对象作为HashMap键

您的密钥必须实现hashCode和equals。如果它是 SortedMap ,则还必须实现Comparable接口

public class MyKey implements Comparable<MyKey>{private Integer i;private String s;public MyKey(Integer i,String s){this.i=i;this.s=s;}public Integer getI() { return i;}public String getS() { return s;}@Overridepublic int hashpre(){return i.hashpre()+31*s.hashpre();}@Overridepublic boolean equals(Object o){if(o==this) return true;if(o==null || !(o instanceof MyKey)) return false;MyKey cp= MyKey.class.cast(o);return i.equals(cp.i) && s.equals(cp.s);    }   public int compareTo(MyKey cp)     {     if(cp==this) return 0;     int i= i.compareTo(cp.i);     if(i!=0) return i;     return s.compareTo(cp.s);     } @Override    public String toString()       {       return "("+i+";"+s+")";       }    }public Map<MyKey,String> map= new HashMap<MyKey,String>();map.put(new MyKey(1,"Hello"),"world");


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/453628.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号