假设我有一个 HashMap 的 HashMap 定义如下:
hashMap = new HashMap<String, HashMap<String, Integer>>();
我如何对此进行抽象以使定义更清晰?
最佳答案
如果我正确解释你的问题,你有一个将对象映射在一起的集合,并且想知道是否有一种读起来更好的方法。
最好为每个元素定义一个目的,例如:
Map<String, // ZIP code (e.g. 6009)
Map<String, // Name (e.g. John Smith)
Integer>> // Age (e.g. 42)
在这种情况下,您可以创建以下类:
class Person {
private String name;
private Integer age;
// Constructor and getters etc.
}
这可以简化您的收集:
Map<String, // ZIP/Postal code
List<Person>> // List of people in this postal code.
如果您愿意,您可以进一步简化它,但这可以让您了解要采取的步骤。最重要的是使用有意义的名称。
关于java - 如何在泛型类型中抽象定义泛型类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393410/