有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

需要查找基本操作集并集/交集/对称差分JAVA

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

但是我需要工会和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
   }

共 (3) 个答案

  1. # 1 楼答案

    Java有它的基本实现。有关更多功能,请尝试Apache Commons库:

    Commons Collections试图通过提供新的接口、实现和实用程序来构建JDK类。有很多功能,包括

    http://commons.apache.org/collections/

    CollectionUtils类对您的任务特别有用(例如,addAll:

    http://commons.apache.org/collections/api-release/org/apache/commons/collections/CollectionUtils.html#addAll(java.util.Collection,%20java.util.Enumeration

    您可以在这里看到实施和想法:

    http://svn.apache.org/viewvc/commons/proper/collections/trunk/src/java/org/apache/commons/collections/CollectionUtils.java?view=markup

  2. # 2 楼答案

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

    例如:

    • Set/TreeSet

    • cardinality()size()

    • intersect可以使用retainAll()

    • union()可以使用addAll()

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