我有两个类,DataClass和MY GUI类。
这是在我的GUI类中
final ArrayList<DataClass> MarksData = new ArrayList<DataClass>();
我一次存储4个元素
[Mark1,Mark2,Mark3,Mark4]
如何找到
Mark1
的所有最大分数我尝试了
Object obj = Collections.min()
,但是由于它是类型为arrayList
的DataClass
,因此无法正常工作。任何帮助表示赞赏:)
最佳答案
最好的方法可能是使用Collections.max()
,但是要实现此目的,您需要在Comparable<DataClass>
类上实现DataClass
。
该接口允许您定义一个compareTo(DataClass o)
方法,您可以在该方法中编写逻辑以确定该逻辑小于或大于另一个标记,然后Collections.max()
会为您查找最大值。
如注释中所述,您还可以编写一个自定义比较器,并使用Collections.max()
的变体,该变体采用该自定义比较器-但是您编写的用于比较标记的逻辑是相同的。
请注意,如果要查找最小标记,请使用Collections.min()
。所有其他详细信息保持不变。