gpt4 book ai didi

java - 创建每个类包含单个对象的集合

转载 作者:行者123 更新时间:2023-11-30 04:16:20 25 4
gpt4 key购买 nike

Java中有没有可以用来存储唯一类对象的集合?

例如,我有一个父类 ( Parent ) 和几个直接继承于 ChildA 的子类 ( ChildBParent 等) .

现在,我需要将每个类的实例存储在集合中( Collection<Parent> )。当我添加ChildA时到集合一次,我一定不能添加更多ChildA的。

我希望能够通过调用 get(ClassB.class) 来检索每个实例,并以类似的方式将其删除。

是否已经存在提供该功能的集合,或者我是否必须编写自己的实现?

最佳答案

编写您自己的类,使用 Map<Class<? extends Parent>, Parent> :

private Map<Class<? extends Parent>, Parent> map = new HashMap<>();

public void add(Parent p) {
if (!map.containsKey(p.getClass()) {
map.put(p.getClass(), p);
}
}

public Parent get(Class<? extends Parent> clazz) {
return map.get(clazz);
}

关于java - 创建每个类包含单个对象的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18288608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com