gpt4 book ai didi

java - 如何构造动态类型的哈希表

转载 作者:行者123 更新时间:2023-12-02 06:27:08 26 4
gpt4 key购买 nike

我有一个函数,它有 2 个不同类型的参数输入列表。为了优化,我想创建一个最小列表类型的 HashSet/Hashtable (其中之一)。 java中有没有办法在运行时决定Set的类型

当前代码:

   public static void innerJoinHash(List<SportsMan> sportsMans, List<Sport> sportList) {
if (sportsMans.size() < sportList.size()) {
Set<SportsMan> set = new HashSet<SportsMan>();
} else {
Set<Sport> set = new HashSet<Sport>();
}
}

我想做的事:

public static void innerJoinHash(List<SportsMan> sportsMans, List<Sport> sportList) {
Set< // some magic //> set
if (sportsMans.size() < sportList.size()) {
set = new HashSet<SportsMan>();
} else {
set = new HashSet<Sport>();
}
}

最佳答案

您可以尝试使用 Java 泛型。 Set<E> customSet=new HashSet<E>();

这是一种在运行时使用分配数据类型的方法。

  public static void innerJoinHash(List<SportsMan> sportsMans, List<Sport> sportList) {
Set set = new HashSet();
if (sportsMans.size() < sportList.size()) {
set.addAll(sportsMans)
} else {
set.addAll(sportList);
}
}

关于java - 如何构造动态类型的哈希表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20417829/

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