Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 查找数组的最大值_Java_Arrays - Fatal编程技术网

Java 查找数组的最大值

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

我有两个类,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()
,但没有成功,因为它是
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()
的注释。