سؤال

To find the minimum value in a collection of given types, what would I need to set "value" to in order to compare it to "min"? Value should be the next element in the collection and it should iterate until the collection is fully read through.

public <T> T min(Collection<T> c, Comparator<T> comp) {
if ((c == null) || (comp == null)) {
     throw new IllegalArgumentException();
  }

  if (c.isEmpty() == true) {
     throw new NoSuchElementException();
  }

  Iterator itr = c.iterator(); 
  T min = (T)itr.next();
  T value = ;
  while (itr.hasNext()) {   
     if (comp.compare(min, value) < 0) { 
        min = value;  
     }
  }
  return min;

}

هل كانت مفيدة؟

المحلول

Use the following code:

 Iterator itr = c.iterator(); 
 T min = (T)itr.next();
 T value;
 while (itr.hasNext()) { 
      value=(T)itr.next();
      if (comp.compare(min, value) < 0) { 
         min = value;  
      }
 }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top