public static LinkedHashSet doLinkedHashSetRemoveFromSmalles
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;
}
Solution
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;
}

