Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 处理通用密钥的哈希函数_Java_Generics_Hash_Hash Function - Fatal编程技术网

Java 处理通用密钥的哈希函数

Java 处理通用密钥的哈希函数,java,generics,hash,hash-function,Java,Generics,Hash,Hash Function,是否可以编写哈希函数来处理泛型键,或者必须指定类型?我正试图为一个存储键及其值的泛型类编写一个哈希表,但开始时遇到了困难 beanStore存储bean对的值 bean对是一个T,N类型的对象,即它有一个T类型的参数和另一个N类型的参数 public class beanStore<T,N> implements beanFuncs<T,N>{ private Integer cap; public beanStore(Integer number){cap=numbe

是否可以编写哈希函数来处理泛型键,或者必须指定类型?我正试图为一个存储键及其值的泛型类编写一个哈希表,但开始时遇到了困难

beanStore存储bean对的值 bean对是一个T,N类型的对象,即它有一个T类型的参数和另一个N类型的参数

public class beanStore<T,N> implements beanFuncs<T,N>{
private Integer cap;

public beanStore(Integer number){cap=number;}

public int hfunc(T key){
//generates hashCode of key 
}

}
公共类beanStore实现beanFuncs{
私有整数上限;
公共beanStore(整数){cap=number;}
公共int hfunc(T键){
//生成密钥的哈希代码
}
}
这是beanFunc课程

public interface beanFuncs<T,N> extends Iterable<K>{
public boolean hasKey(T key);
.
.
.
public int size();
public Iterator<T> iterator();
}
公共接口beanFuncs扩展了Iterable{
公共布尔hasKey(T-key);
.
.
.
公共整数大小();
公共迭代器迭代器();
}
HashMap
本质上处理泛型。泛型类型可以接受任何对象,因此
HashMap
所做的是调用该对象的
hashCode()

如果您试图将多种类型的对象分组在一起,可以通过通用边界来处理,也就是说,如果您希望有一个可以获取彼此可比对象的映射,可以通过:
HashMap
来实现

在更具体的情况下,您可以将要处理的任何对象集分组,并让它们实现接口或扩展某个超类

长话短说,为泛型类型编写哈希函数是没有意义的,让每个对象处理它们自己的
hashcode
。您不能编写泛型散列,因为
hashCode()
equals()
有契约,编写泛型
equals()
hashCode()
——这些方法应该是对象特定的。

HashMap
本质上处理泛型。泛型类型可以接受任何对象,因此
HashMap
所做的是调用该对象的
hashCode()

如果您试图将多种类型的对象分组在一起,可以通过通用边界来处理,也就是说,如果您希望有一个可以获取彼此可比对象的映射,可以通过:
HashMap
来实现

在更具体的情况下,您可以将要处理的任何对象集分组,并让它们实现接口或扩展某个超类

长话短说,为泛型类型编写哈希函数是没有意义的,让每个对象处理它们自己的
hashcode
。您不能编写泛型散列,因为
hashCode()
equals()
有契约,编写泛型
equals()
hashCode()
——这些方法应该是对象特定的。

HashMap
本质上处理泛型。泛型类型可以接受任何对象,因此
HashMap
所做的是调用该对象的
hashCode()

如果您试图将多种类型的对象分组在一起,可以通过通用边界来处理,也就是说,如果您希望有一个可以获取彼此可比对象的映射,可以通过:
HashMap
来实现

在更具体的情况下,您可以将要处理的任何对象集分组,并让它们实现接口或扩展某个超类

长话短说,为泛型类型编写哈希函数是没有意义的,让每个对象处理它们自己的
hashcode
。您不能编写泛型散列,因为
hashCode()
equals()
有契约,编写泛型
equals()
hashCode()
——这些方法应该是对象特定的。

HashMap
本质上处理泛型。泛型类型可以接受任何对象,因此
HashMap
所做的是调用该对象的
hashCode()

如果您试图将多种类型的对象分组在一起,可以通过通用边界来处理,也就是说,如果您希望有一个可以获取彼此可比对象的映射,可以通过:
HashMap
来实现

在更具体的情况下,您可以将要处理的任何对象集分组,并让它们实现接口或扩展某个超类


长话短说,为泛型类型编写哈希函数是没有意义的,让每个对象处理它们自己的
hashcode
。您不能编写泛型哈希,因为
hashCode()
equals()
有契约关系,编写泛型
equals()
hashCode()没有意义
--这些方法应该是特定于对象的。

您可以提供要存储的bean吗?您可以提供要存储的bean吗?您可以提供要存储的bean吗?您可以提供要存储的bean吗?