【问题标题】:How to make my HashTable work on for a specific type如何使我的 HashTable 适用于特定类型
【发布时间】:2013-05-19 18:40:35
【问题描述】:

我需要为一个项目创建一个 HashTable。

以下是我定义 HashTable 的方式:

public class StudentHashTable<Name, DateOfBirth> {

}

您将创建我的 HashTable 的方式如下:

StudentHashTable<String,Integer> hashMap = new StudentHashTable<String,Integer>();

就目前而言,它实际上适用于任何具有 String 类型键和 Integer 类型值的对象。我需要考虑什么才能强制 HashTable 仅接受具有 String 类型键和 Integer 类型值的 Student 类型的对象?

【问题讨论】:

  • “具有字符串类型键和整数类型值的 Student 类型的对象”是什么意思?你的问题很不清楚。
  • 你的问题没有多大意义。首先,您不应该定义自己的集合。 Java 有一个标准的 HashMap。用那个。其次,在更高的层次上告诉我们您想要实现的目标。 String, Integer 的 HashMap 不关心 String 和 Integer 的来源。也许您应该将地图封装到一个处理学生的类中,并在内部使用一个 HashMap,而不要将此地图暴露给外部。
  • 我需要为一个项目创建自己的。我知道 Java 有一个内置的 HashMap。我的 HashMap 只能接受 Student 对象。一个学生有一个键是它的名字,一个值是它的出生日期。对于之前的任何混淆,我深表歉意。

标签: java hashtable


【解决方案1】:

如果您希望自定义的 HashMap接受 Student 类,这是一个非常奇怪的请求,因为集合通常应该是通用的,那么只需执行以下操作。使设置器仅与学生班级一起工作。这样你就可以保证除了你想要的之外,什么都不能接受。

例子:

public void put(Student student){...}

public void putAll(Student... students){...}

【讨论】:

  • 是的,我教授的奇怪要求。我会以这种方式实现它。伟大的帮助,贪婪的佛陀!
猜你喜欢
  • 2021-06-05
  • 2019-08-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 2013-04-08
  • 1970-01-01
相关资源
最近更新 更多