我的问题是关于修改java中的表达式以使其具有多态。这个类称为csHash,用于从给定的数据类型DT和给定的键类型KT创建哈希表。现在,在类中的几个方法中(delete、search、insert等)该方法使用一个equals函数,在非多态版本中,该函数只使用String (因为非多态版本中的键是String类型)。我的想法是创建一个equals方法,按照下面的代码编写。我的问题是。它是测试相等性的有效方法吗?
public boolean equals(Object x) {
String i;
i = new String[1];
String y;
我有以下抽象的Person类:
import java.util.Objects;
public abstract class Person {
protected String name;
protected int id;
public Person(String name, int id) {
this.name = name;
this.id = id;
}
public abstract String description();
@Override
public boolean equ
import java.util.*;
public class Tester
{
public static void main(String args[])
{
Set<Point> set = new HashSet<Point>();
Point A = new Point(0, 0);
set.add(A);
Point B = new Point(0, 0);
System.out.println(set.contains(B));
}
}
class
我正在重写一个对象的equality方法。让我们假设一个带有一个km变量的里程表,该变量存储为一个双精度型(以及其他一些对本例不重要的变量)。
public class Odometer {
private double km;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
long temp;
temp = Double.doubleToLongBits(km);
result = pri
我有一个ArrayList of Test对象,它使用字符串作为等效性检查。我希望能够使用List.contains()检查列表是否包含使用特定字符串的对象。
简单地说:
Test a = new Test("a");
a.equals("a"); // True
List<Test> test = new ArrayList<Test>();
test.add(a);
test.contains("a"); // False!
等于和哈希函数:
@Override
public boolean equals(Objec
假设我有下面的课
public class DualKey {
int key1;
int key2;
// getters, setters and constructors go here
public void equals(Object obj) {
if (obj == null || ! obj instanceOf DualKey)
return false;
return this.key1 == obj.key1 || this.key1 == obj.key2 || this.key2
我想用键unicity将数据存储在地图中,但是我希望映射使用我的key类的等号方法。
HashMap似乎没有使用相等方法(我可能错了,如果是这样的话,我的测试是错误的)。
这里我的问题是,映射使用hashCode来检查副本,我想要一个使用相等的映射实现。
我将时间戳存储在键中,如果时间戳差不超过定义的数量(假设1000毫秒),我想使它成为相等的两个键。
编辑:代码
public class CleanKey
{
private DateTime start;
private DateTime end;
public int hashCode()
{
hashcode或hashmap是如何工作的,如果我们覆盖hashcode,hashcode总是返回一个常量,而被覆盖的equals方法返回false,那么它如何在返回或删除时识别确切的对象?时间bean忘记了性能所有的东西,我的问题是它如何能够识别确切的对象,让我解释更多,我有一个有两个字段的person类,并且已经覆盖了返回总是1的hashcode和返回false的覆盖equals方法,已经创建了3个对象,对象1 -- id 10名称AAAA,对象2 -- id 20,名称BBB,对象3 -- id 30,名称CCC,我已经将所有三个对象添加到hashSet,之后我删除了对象2,这里它如何
我目前所面临的情况是,我有一个字符串元组(大小为2),如果至少有一个元素相同,那么两个元组应该被认为是相等的。我有下面的类来实现这个想法:
public class MyTuple
{
private List<String> list = Arrays.asList(new String[2]);
public List<String> getList()
{
return list;
}
public void set(String firstElement, String secondElement)