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;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.