如何把坐标作为hashmap的key
来源:互联网 发布:广西干部网络培训平台 编辑:程序博客网 时间:2024/06/07 17:17
1. 首先把坐标封装成一个Point类:重写equals 和hashCode 方法,直接上代码。。。
Point类
public class Point {
private int x;
private int y;
private int z;
/*省略set/get 方法;*/
public Point(int x, int y,int z){
this.x=x;
this.y=y;
this.z=z;
}
@Override
public boolean equals(Object obj) {
//这里要谨慎写
if(this==obj) return true;
if(!(obj instanceof Point)) return false;
Point point = (Point)obj;
return x==point.x && y==point.y && z==point.z;
}
@Override
public int hashCode() {
return x^y*137^z*11731; //尽量用大奇数
}
}
2.测试类 MyHashTest
public class MyHashTest {
public static void main(String[] args) {
HashMap<Point, int []> map =new HashMap<Point,int []>();
int [] a ={3,5,6,2,11};
int [] b = {2,4,6,7};
Point point = new Point(1, 5, 9);
Point point2 = new Point(2, 6, 3);
map.put(point, a);
map.put(point2, b);
int[] mString = map.get(point);
for(int c:mString){
System.out.print(c+" ");
}
}
}
- 如何把坐标作为hashmap的key
- HashSet的存储方式是把HashMap中的Key作为Set的对应存储项。
- 空字符串可以作为HashMap的key
- 使用一个类作为hashMap的key
- 谨慎使用String作为HashMap的Key
- 谨慎使用String作为HashMap的Key
- Java 自定义类作为HashMap的key
- 谨慎使用String作为HashMap的Key
- StringBuilder万万不可作为HashMap的key
- equals和==的区别,以及如何将自定义类作为HashMap的Key
- 如何实现用对象作为Key对HashMap进行查找
- HashMap使用对象作为key
- Java 将自定义的对象作为HashMap的key
- Java用自定义的类作为HashMap的key值
- Java用自定义的类型作为HashMap的key
- 自定义枚举类 Enum 是否可以作为 HashMap 的key
- 把HashMap按照key的自然顺序排序
- java HashMap用自定义类作为key
- CCF 201312-1 出现次数最多的数 C语言解法
- MySQL外键约束On Delete和On Update的详解
- masm汇编之——过程与宏的区别
- Centos6.5安装Python3.6(和python2共存)
- 可拖拽和带二维码的登录窗口设计效果 -- 一天一个篇文章
- 如何把坐标作为hashmap的key
- Android高效加载大图、多图解决方案,有效避免程序OOM
- Autofac官方文档(七)【解析服务】
- 2017湖湘杯pwn200的wp
- Autofac官方文档(八)【解析服务之传递参数来解析】
- Spring入门-----HelloWorld
- Glide和Picasso对比
- xilinx--IOB(2)
- Autofac官方文档(九)【解析服务之隐式关系类型】