【发布时间】:2017-04-22 21:07:13
【问题描述】:
我被要求实现一个包含 1 个方法的 java 库模块,该方法能够使用用户定义的过滤器方法过滤任意对象的集合并返回对象的标识哈希码(JVM 生成的对象的唯一哈希码) ,最好使用 Java 8 结构。如果找到多个对象,则应返回最大的一个。如果比较器没有对它们进行唯一排序,则应返回最大的哈希码。该方法应遵循您可以在下面找到的签名。
public <T> Optional<Integer> getIt(Collection<T> collection, Predicate<T> filter, Comparator<T> comparator)
所以,我想先过滤,使用:
collection.removeIf(filter.negate());
但是,我无法得到的是,你怎么能得到最大的任意对象?
感谢任何帮助,谢谢
【问题讨论】:
标签: java collections comparator predicate