Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

public static LinkedHashSet<Integer> doLinkedHashSetRemoveFromSmallest(int numIt

ID: 3923645 • Letter: P

Question

public static LinkedHashSet<Integer> doLinkedHashSetRemoveFromSmallest(int numItems) {

       System.out.print("doLinkedHashSetRemoveFromSmallest: ");

       LinkedHashSet<Integer> set = new LinkedHashSet<>();

       // TODO Write code that adds integers 0 through (numitems - 1)

       // to set.

       long startTime = getTimestamp();

       // TODO Write code that removes the smallest element from set,

       // repeatedly until the set is empty.

       long endTime = getTimestamp();

       long totalTime = endTime - startTime;

       System.out.println(totalTime);

      

       return set;

   }

Explanation / Answer

public static LinkedHashSet<Integer> doLinkedHashSetRemoveFromSmallest(int numItems) {

System.out.print("doLinkedHashSetRemoveFromSmallest: ");

LinkedHashSet<Integer> set = new LinkedHashSet<>();

for(int i = 0; i < numItems; i++)

{

   set.add(i);

}

long startTime = getTimestamp();

while(!set.isEmpty())

{

   set.remove(getMinFromLinkedHashSet(set));

}

long endTime = getTimestamp();

long totalTime = endTime - startTime;

System.out.println(totalTime);

  

return set;

}

  

   public static Integer getMinFromLinkedHashSet(LinkedHashSet<Integer> set)

   {

       Iterator<Integer> iterator = set.iterator();

       Integer min = Integer.MAX_VALUE;

       while(iterator.hasNext())

       {

           if(iterator.next() < min)

               min = iterator.next();

       }

       return min;      

   }