查找集合中的最小值

时间:2014-02-01 02:41:13

标签: java collections iterator minimum

要查找给定类型集合中的最小值,我需要将“值”设置为什么才能将其与“min”进行比较?值应该是集合中的下一个元素,它应该迭代直到集合被完全读取。

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;

}

1 个答案:

答案 0 :(得分:3)

使用以下代码:

 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;  
      }
 }