Ela*_*ich 6 java collections max standard-library
Java Collections.max仅采用可排序对象的集合.但是,由于集合不一定排序,我认为没有任何理由不为可迭代类型实现相同的max函数.
Iterable<T extends Comparable<? super T>>在java的标准库中有最大的方法吗?
Ali*_*ell 14
虽然Guava不是Java的标准库,但它足够接近......
E com.google.common.collect.Ordering#max(Iterable<E> iterable)
例如 T max = Ordering.natural().max(myIterable);
至于为什么标准库没有实现它,可能是因为Collection必须是有限的,但是Iterable不一定是 - 并且可以说,如果非终止Iterable会导致你的代码循环,那么永远不应该接受Iterable永远.
Collections.max在1.2中介绍.Iterable是在1.5中引入的.
很少有一个Iterable不是Collection.如果你这样做,那么它很容易实现(小心阅读规范).如果您认为这非常重要,您可以在bugs.sun.com上提交RFE(如果已有,则投票).
| 归档时间: |
|
| 查看次数: |
8935 次 |
| 最近记录: |