Difference between revisions of "Set Intersector Assignment"

From CSE231 Wiki
Jump to navigation Jump to search
(Making sure students don't try to actually intersect sets based of .contains() calls and the like)
 
(One intermediate revision by the same user not shown)
Line 12: Line 12:
 
{{CodeToImplement|Intersections|intersectionOf|setintersector.group}}
 
{{CodeToImplement|Intersections|intersectionOf|setintersector.group}}
 
{{Sequential|public static <E> Set<E> intersectionOf(Set<E> first, Set<E>... rest)}}
 
{{Sequential|public static <E> Set<E> intersectionOf(Set<E> first, Set<E>... rest)}}
 +
 
Note: You do not have to implement the logic of set intersection at all, that is all done by the SetIntersector<>() given to you in the imports.
 
Note: You do not have to implement the logic of set intersection at all, that is all done by the SetIntersector<>() given to you in the imports.
 +
 
Note: the "rest" parameter leverages the [https://docs.oracle.com/javase/8/docs/technotes/guides/language/varargs.html varargs] feature.  You may treat this parameter as an Set<E>[].
 
Note: the "rest" parameter leverages the [https://docs.oracle.com/javase/8/docs/technotes/guides/language/varargs.html varargs] feature.  You may treat this parameter as an Set<E>[].
  

Latest revision as of 19:15, 28 February 2023

Motivation

Performing the set intersection required by the Mutual Friends exercise can be a bit tricky. This group warmup will familiarize everyone with the provided SetIntersector<E> class.

Code To Use

SetIntersector<E>

class SetIntersector<E>

accept(friendIds)
currentIntersection()

Code To Implement

class: Intersections.java Java.png
methods: intersectionOf
package: setintersector.group
source folder: student/src/main/java

method: public static <E> Set<E> intersectionOf(Set<E> first, Set<E>... rest) Sequential.svg (sequential implementation only)

Note: You do not have to implement the logic of set intersection at all, that is all done by the SetIntersector<>() given to you in the imports.

Note: the "rest" parameter leverages the varargs feature. You may treat this parameter as an Set<E>[].

Client

class: IntersectionClient.java DEMO: Java.png
methods: main
package: setintersector.client
source folder: src/main/java

Testing

class: _IntersectionTestSuite.java Junit.png
package: setintersector.group
source folder: testing/src/test/java