以下是一种解决方法,使用Java中的HashMap来实现不同类之间的哈希映射访问。
首先,我们创建两个不同的类,ClassA和ClassB。ClassA包含一个名为value的成员变量,而ClassB包含一个名为key的成员变量。
public class ClassA {
private int value;
public ClassA(int value) {
this.value = value;
}
public int getValue() {
return value;
}
}
public class ClassB {
private String key;
public ClassB(String key) {
this.key = key;
}
public String getKey() {
return key;
}
}
接下来,我们创建一个包含HashMap的类,ClassMap。该类定义了一个HashMap,用于将ClassB的实例作为键,ClassA的实例作为值进行存储。
import java.util.HashMap;
public class ClassMap {
private HashMap map;
public ClassMap() {
map = new HashMap<>();
}
public void addMapping(ClassB key, ClassA value) {
map.put(key, value);
}
public ClassA getValue(ClassB key) {
return map.get(key);
}
}
现在,我们可以在另一个类中使用ClassMap来进行不同类之间的哈希映射访问。
public class Main {
public static void main(String[] args) {
ClassA value1 = new ClassA(10);
ClassA value2 = new ClassA(20);
ClassB key1 = new ClassB("Key1");
ClassB key2 = new ClassB("Key2");
ClassMap map = new ClassMap();
map.addMapping(key1, value1);
map.addMapping(key2, value2);
ClassA retrievedValue1 = map.getValue(key1);
ClassA retrievedValue2 = map.getValue(key2);
System.out.println("Retrieved value for key1: " + retrievedValue1.getValue());
System.out.println("Retrieved value for key2: " + retrievedValue2.getValue());
}
}
运行以上代码,将输出以下结果:
Retrieved value for key1: 10
Retrieved value for key2: 20
以上示例展示了如何在不同类之间使用Java的HashMap进行哈希映射访问。您可以根据实际需求进行修改和扩展。
下一篇:不同类中的静态变量的问题