gpt4 book ai didi

java - 需要求基本运算集并集/交集/对称差JAVA

转载 作者:行者123 更新时间:2023-12-03 01:40:22 25 4
gpt4 key购买 nike

需要完成此实现才能使用 UseSet 类。不确定我所实现的是否100%正确。

但是我需要 Union 和 SysDiff 方面的帮助。

public class Set
{
private ArrayList<Integer> elements;

public Set()
{
elements = null;
}

public Set(ArrayList<Integer> s)
{
int i;
elements = new ArrayList<Integer>();
for(i=0; i<s.size(); i++)
elements.add(s.get(i));
}

public Set(int[] s)
{
int i;
elements = new ArrayList<Integer>();
for(i=0; i<s.length; i++)
elements.add(s[i]);
}

public String toString()
{
//implement this method
}

public boolean isElement(int elt)
{
int i
for (i=0; i < elements.size(); i++)
{
if (elements.get(i) == elt)
return true;
}
return false

}

public int cardinality()
{
return elements.size();
}

public Set intersect(Set s)
{
Array list <interger> iset = new Array(ist<interger>();
int i;
for (i=0; i<elements.size(); i++)
{
if (s2.isElement (elements.get(i)))
iSet.add(elements.get(i)));
}
return new set(iset)
}

public Set union(Set s)
{
//implement this method
}

public Set symDiff(Set s)
{
//implement this method
}

最佳答案

您是否考虑过使用 Java 提供的类之一,例如 TreeSet ?使用这样的类作为起点,可以更轻松地实现大多数基本集合操作。

例如:

  • 您的 isElement() 方法在 Set 中名为 contains()/TreeSet

  • cardinality()size()

  • intersect 可以使用 retainAll()

  • 实现
  • union() 可以使用 addAll()

  • 实现
  • symDiff() 可以使用 removeAll() 实现,以从两个集合的并集中删除交集元素。

关于java - 需要求基本运算集并集/交集/对称差JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5614815/

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