This is what I have thus far.

public class Set { private ArrayList<String>elements; /** * creates an empty set */ public Set() { elements = null; } /** * creates a set using the elements of the ArrayList s. * @param s the ArrayList whose elements are used to create this set. * @throws IllegalArgumentException if s contains duplicity. */ public Set(ArrayList<String> s) { int i; elements = new ArrayList<String>(); for(i=0;i<s.size();i++) { if(elements.contains(s.get(i))) {throw new IllegalArgumentException("Set(ArrayList<String>)duplicity not allowed in sets");} elements.add(s.get(i)); } } /** * creates a set using the elements of the array s. * @param s the array whose elements are used to create this set. * @throws illegalArgumentException if s contains duplicity. */ public Set(String[] s) { int i; elements = new ArrayList<String>(); for(i=0; i<s.length; i++) { if (elements.contains(s[i])) {throw new IllegalArgumentException("Set(String[]):duplicity not allowed in sets");} elements.add(s[i]); } } /** * determines whether a set contains the specified element * @param elt an element * @return true if elt is an element of this set; otherwise, false */ public boolean isElement(String elt) { return elements.contains(elt); } /** * determines the size of this set. * @return the size of this set. */ public int cardinality() { return elements.size(); } /** * computes the intersection of this set and the * specified set. * @param s a set * @return a set representing the intersection of this set * and s. */ public Set intersect(Set s) { int i; ArrayList<String> result = new ArrayList<String>(); for (i=0;i<s.cardinality();i++) { if (this.isElement(s.elements.get(i))) {result.add(s.elements.get(i));} } return new Set(result); } /** * computes the union of this set and the specified set. * @param s a sets * @return a set representing the union of this set * and s. */ public Set union(Set s) { int i; ArrayList<String> result = new ArrayList<String>(); for (i=0;i<s.cardinality();i++) { } } /** * computes the difference between this set and the * specified set. * @param s a set * @return a set representing the difference between * this set and s. */ public Set diff(Set s) { } /** * computes the symmetric difference between this set * and the specified set. * @param s a set * @return a set representing the symmetrix difference * between this set and s. */ public Set symDiff(Set s) { } /** * computes the Cartesian product for this set * and the specified set. * @param s a set * @return a set representing the Cartesian product * of this set and s. */ public Set xProduct(Set s) { } /** * determines whether a set is empty * @return true if this set is empty; otherwise, false */ public boolean isEmpty() { return elements.isEmpty(); } /** * determines whether this set is equal to the specified * set. * @param s a set * @return true if this set is equal to s; otherwise, false */ public boolean equals(Set s) { } /** * determines whether this set is a subset of the specified set. * @param s a set * @return true if this set is a subset of s; otherwise, false */ public boolean subset(Set s) { } /** * determines whether this set is a proper subset of the specified set. * @param s a set * @return true if this set is a proper subset of s; otherwise, false */ public boolean properSubset(Set s) { } /** * returns a string {x1,x2,...,xn} representing this set, * where x1,x2,...,xn are elements of this set. * @return a string representation of this set formatted * as specified. */ @Override public String toString() { return "Set="++""; }

Basically I need to implement all the methods. The public Set intersect(Set s) was given as a guide. I'm simply looking for guidance as I am new to Java. I know I need to use for loops and if statements and to check the boolean for each Array.

Thanks.