Java 查找数组的最大值
我有两个类,DataClass和GUI类 这是在我的GUI类Java 查找数组的最大值,java,arrays,Java,Arrays,我有两个类,DataClass和GUI类 这是在我的GUI类 final ArrayList<DataClass> MarksData = new ArrayList<DataClass>(); final ArrayList MarksData=new ArrayList(); 我一次存储4个元素[Mark1,Mark2,Mark3,Mark4] 如何找到Mark1 我尝试了Object obj=Collections.min(),但没有成功,因为它是DataCl
final ArrayList<DataClass> MarksData = new ArrayList<DataClass>();
final ArrayList MarksData=new ArrayList();
我一次存储4个元素[Mark1,Mark2,Mark3,Mark4]
如何找到Mark1
我尝试了Object obj=Collections.min()
,但没有成功,因为它是DataClass
类型的arrayList
非常感谢您的帮助:)最好的方法可能是使用
Collections.max()
,但要做到这一点,您需要在DataClass
类上实现
此接口允许您定义一个compareTo(DataClass o)
方法,您可以在该方法中写入逻辑以确定它是否小于或大于另一个标记,然后Collections.max()
将为您查找最大值
如注释中所述,您还可以编写一个自定义比较器,并使用Collections.max()
的变量,该变量接受该自定义比较器-但您编写的用于比较标记的逻辑是相同的
请注意,如果要查找最小标记,请转到
Collections.min()
。所有其他细节保持不变。最好的方法可能是使用Collections.max()
,但要做到这一点,您需要在DataClass
类上实现
此接口允许您定义一个compareTo(DataClass o)
方法,您可以在该方法中写入逻辑以确定它是否小于或大于另一个标记,然后Collections.max()
将为您查找最大值
如注释中所述,您还可以编写一个自定义比较器,并使用Collections.max()
的变量,该变量接受该自定义比较器-但您编写的用于比较标记的逻辑是相同的
请注意,如果要查找最小标记,请转到
Collections.min()
。所有其他详细信息保持不变。若要使用Collections.min(),您必须使数据类实现可比较
,或者必须提供自定义的比较器才能使用Collections.min()您必须使数据类实现可比较
,或者必须提供自定义的比较器
如何确定最大标记?什么是标记1
,标记2
,等等。。。?向我们展示DataClass
的源代码。只需遍历列表,取一个存储第一个数组值的临时变量,比较两个相邻的值,如果找到更高的值,将其替换为临时变量,最后临时变量返回最大值,这是简单的排序algo@RohitJain这是我的数据类@JamesHunter。。在我的办公室里无法访问该链接。你应该在这里发布你的代码。尝试提取相关部分并发布taht。如何确定最大标记?什么是Mark1
,Mark2
,等等。。。?向我们展示DataClass
的源代码。只需遍历列表,取一个存储第一个数组值的临时变量,比较两个相邻的值,如果找到更高的值,将其替换为临时变量,最后临时变量返回最大值,这是简单的排序algo@RohitJain这是我的数据类@JamesHunter。。在我的办公室里无法访问该链接。你应该在这里发布你的代码。试着提取相关部分并发布taht。或者你也可以编写一个比较器。使用max(Collection coll,Comparator comp),问题是“最大分数”,但似乎OP想要的是最小分数,这可能是“最佳分数”@PeterLawrey Good point,错过了这一点。在末尾添加了一个关于min()
的注释。或者您也可以编写一个比较器。使用max(Collection coll,Comparator comp),问题是“最大分数”,但似乎OP想要的是最小分数,这可能是“最佳分数”@PeterLawrey Good point,错过了这一点。在末尾添加了关于min()
的注释。