java - 我怎样才能合并任何列表? - java

标签 java generics arraylist

我有三个类(class)。 HeroMonster 类扩展了 Character 类。 Character 类扩展了 Object 类。

我有 2 个 ArrayList,一个用于英雄,另一个用于怪物。我怎样才能用一种方法将它们组合在一个 arrayList 中。

ArrayList<Hero> heroes = new ArrayList<Hero>();
ArrayList<Monster> monsters = new ArrayList<Monster>();

ArrayList<Character> allCharacters = sumArrays(heroes, monsters);

最佳答案

/**
 * doesn't touch the given lists, creates one new list with all the elements inside the given lists.
 * @param lists lists to add together
 * @param <T> A common class between lists
 */
public static <T> ArrayList<T> sumArrays (ArrayList<? extends T>... lists) {
    ArrayList<T> summed = new ArrayList<T>();
    for (ArrayList<? extends T> list: lists)
        summed.addAll(list);
    return summed;
}

关于java - 我怎样才能合并任何列表? - java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41627393/

相关文章:

java - 为什么我们不能从逆变类型读取

C# 5.0 泛型 : param type inference

c# - 可以传入通用实体并访问公共(public)属性吗?

java - 如何从 Firebase 获取特定的子值?

Java 确定是否选择了哪个 JRadioButton

java - 概率计算的堆栈溢出异常

Java - 如何最好地循环并将值存储到 ArrayList 中

Java:ArrayList 上的 StringUtils.join 返回 NoSuchMethodError 异常

java - 从数组列表中删除元素

java - 连接到 HTTPS url 并发布到它