我有两个类,DataClass和MY GUI类。

这是在我的GUI类中

 final ArrayList<DataClass> MarksData = new ArrayList<DataClass>();


我一次存储4个元素[Mark1,Mark2,Mark3,Mark4]

如何找到Mark1的所有最大分数

我尝试了Object obj = Collections.min(),但是由于它是类型为arrayListDataClass,因此无法正常工作。

任何帮助表示赞赏:)

最佳答案

最好的方法可能是使用Collections.max(),但是要实现此目的,您需要在Comparable<DataClass>类上实现DataClass

该接口允许您定义一个compareTo(DataClass o)方法,您可以在该方法中编写逻辑以确定该逻辑小于或大于另一个标记,然后Collections.max()会为您查找最大值。

如注释中所述,您还可以编写一个自定义比较器,并使用Collections.max()的变体,该变体采用该自定义比较器-但是您编写的用于比较标记的逻辑是相同的。

请注意,如果要查找最小标记,请使用Collections.min()。所有其他详细信息保持不变。

10-06 07:22