java - 寻找集合中的最小值

标签 java collections iterator minimum

要查找给定类型集合中的最小值,我需要将“value”设置为什么才能将其与“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;

}

最佳答案

使用以下代码:

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

关于java - 寻找集合中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21493497/

相关文章:

c++ - 调用 end() 时出现 std::multimap 错误

java - 在 Activity 中随机放置对象

java - 从 xml 获取正确元素时遇到问题

java - Collection.toArray(IntFunction<T[]> generator) 不接收集合大小

java - 用于存储阻塞线路的集合

Python:不使用条件的二叉树遍历迭代器

java - 为 HashMap 创建自定义迭代器

java - 如何记住之前保存的表单数据以供后续请求

java - 如何在 JScrollPane 中实现位置敏感缩放?

java - JPA 从具有多对多关联的集合中选择