两个集合的并集 Java 集合<T>

Union of two Sets Java Set<T>

我现在正在做 Java 家庭作业,我 运行 遇到了一些问题;试图找到两个集合之间的并集。

我的教授将联盟描述为

The union of two sets A and B is the set obtained by combining the members of each with out allowing multiplicity.

不太明白他说的不允许多重性是什么意思

在搜索时google我发现一个Union基本上就是把两者结合起来,这应该不难,但我总是得到我不太明白的错误。

我将 post 与下面所需代码有关的所有内容。

public class Set<T extends Comparable<T>>
{
    // A list of elements contained in the set
    private ArrayList<T> elements;

    // Creates an empty set
    public Set()
    {
        elements = new ArrayList();
    }

    public Set<T> union(Set<T> s)
    {
        // code here             
    }
}

每次我尝试 return 时,它告诉我它不是兼容类型,因为实例变量是 ArrayListUnionSet。有没有人以前做过这个或者可以提供一些提示?

根据定义,集合是 唯一 个元素的集合。不允许多重性意味着元素可以 重复。

但是,这不是 ArrayList 的限制,因此围绕 ArrayList 的集合需要一些额外的逻辑来确保它没有两个元素 .equals()计算结果为真。

如何实施的一般概述 union() 是遍历两个集合中的所有元素。但是,在将元素添加到新集合之前,请确保集合中没有与其相等的元素。