已知一对象,和定义为Vector的一个矢量集合, 问Vector类中有没有函数可返回与已知对象相同的对象.
例如:
Vector npoints=new Vector();
class point{
int x;int y;
}
point p=new point();
npoints.addElement(p);
.....
//假设npoints已经存了很多的point的
//已知新对象
poinst p1=new point();p1.x=1;p2.x=1
//现在我要检测p1是否存在于npoints中,若存在则获取npoints该对象的x值,并做如
//下判断
if (npoints.contains(p1) && p1.x=1)
~~~~~~
//这里将出错,因为p1是个新对象,而不是points里的对象,判断无效
//那么我应该怎么写?请教,谢谢
例如:
Vector npoints=new Vector();
class point{
int x;int y;
}
point p=new point();
npoints.addElement(p);
.....
//假设npoints已经存了很多的point的
//已知新对象
poinst p1=new point();p1.x=1;p2.x=1
//现在我要检测p1是否存在于npoints中,若存在则获取npoints该对象的x值,并做如
//下判断
if (npoints.contains(p1) && p1.x=1)
~~~~~~
//这里将出错,因为p1是个新对象,而不是points里的对象,判断无效
//那么我应该怎么写?请教,谢谢
解决方案 »
- 把一个数组按规则分组
- 如何获取main开始运行的时间和所有线程结束的时间???
- 关于Jcreator一些功能的实现
- PreparedStatement.setNull()的问题
- 弱弱的问一下: 我的 junit 4.0 怎么用啊?
- 正在学java,很迷茫,不知道学到什么程度才能出来见人,该怎么办呢?请大家给点意见
- 请问如何限制JTextField中的文本输入?
- 正则表达式
- 什么样的类型可以接收这样的函数参数 func([12,321])
- 为什么用这ActionListener,ContainerListener两个接口 的时候编译无法通过?
- 我想将两张(A.gif和B.gif)图片合并成为另一张图片(C.gif)并保存,如何实现?
- java关闭窗口对话框
<<
class point {
int x;
int y; public boolean equals(Object o) {
if(this==o) return true;
if(!(o instanceof point)) return false;
point that = (point)o;
return x==that.x && y==that.y;
} public int hashCode() {
int result = 17;
result = 37 * x + result;
result = 37 * y + result;
return result;
}
}
>>
抱歉 刚学java,两位高手能否说得详细些重载这两个方法有什么用呢?判断p1是否存在于npoints中
是否可以用npoints.contains(p1)这个方法?还有后面的判断npoints与p1相同的那个对象的值=1,该如何写呢?....
比较两个对象是否相等(通常是逻辑相等)。<<判断p1是否存在于npoints中>>
<<是否可以用npoints.contains(p1)这个方法?>>
可以。<<还有后面的判断npoints与p1相同的那个对象的值=1,该如何写呢?>>
你的问题就没有问清楚,而且p1,p2乱七八糟的一堆,p2都不知道如何冒出来的,不知所云。
至于equas和hashcode的具体意义和应用,自己看书吧...
//bow
p1.x = 1;
p1.y = 1;List results = new ArrayList();
for( Iterator it=npoints.iterator(); it.hasNext(); ) {
point each = (point)it.next();
if ( each.x == p1.x ) {
results.add(each);
}
}point[] points = (point)results.toArray(new point[0]);