Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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
Android-我是否需要为最小值和最大值对集合进行排序?_Android_Sorting_Collections_Max_Min - Fatal编程技术网

Android-我是否需要为最小值和最大值对集合进行排序?

Android-我是否需要为最小值和最大值对集合进行排序?,android,sorting,collections,max,min,Android,Sorting,Collections,Max,Min,几天前,我来到这里(所以)研究如何从Android中的一个集合中获取最小值和最大值,并找到了一个解决方案,解决了以下问题(很抱歉,没有链接到我使用的实际答案): 我的问题是,在提取最小/最大值之前,我是否确实需要对列表进行排序?我试着在没有对列表排序的情况下运行代码,它似乎可以正常工作。我只是担心,因为我使用的答案肯定是先排序的,所以我想一定有原因,我只是不知道它是什么 不,它不需要排序。该方法迭代整个集合。 除了@BobbyDigital的回答,他正确地指出了th方法迭代整个列表,我只想指出,

几天前,我来到这里(所以)研究如何从Android中的一个集合中获取最小值和最大值,并找到了一个解决方案,解决了以下问题(很抱歉,没有链接到我使用的实际答案):


我的问题是,在提取最小/最大值之前,我是否确实需要对列表进行排序?我试着在没有对列表排序的情况下运行代码,它似乎可以正常工作。我只是担心,因为我使用的答案肯定是先排序的,所以我想一定有原因,我只是不知道它是什么

不,它不需要排序。该方法迭代整个集合。

除了@BobbyDigital的回答,他正确地指出了th方法迭代整个列表,我只想指出,使用
max
函数的结果可能取决于列表元素的类型。如果你看到了,上面写着

根据元素的自然顺序返回给定集合的最大元素

如果您看到问题,则此人使用了
字符串列表
。在使用abve数字提取max时,他没有得到max数字,因为它返回的是最大的值。所以,只要提到他的代码:

ArrayList<String> dirNo = new ArrayList<String>();

dirNo.add("1");
dirNo.add("2");
dirNo.add("3");
dirNo.add("4");
dirNo.add("5");
dirNo.add("6");
dirNo.add("7");
dirNo.add("8");
dirNo.add("9");
dirNo.add("10");
dirNo.add("11");

System.out.println("max : " + Integer.parseInt(Collections.max(dirNo))
        + "");
ArrayList dirNo=new ArrayList();
董事会增加(“1”);
董事会增补(“2”);
董事会增补(“3”);
董事会增补(“4”);
董事会增加(“5”);
董事会增补(“6”);
董事会增补(“7”);
董事会增补(“8”);
董事会增补(“9”);
董事会增补(“10”);
董事会增补(“11”);
System.out.println(“max:+Integer.parseInt(Collections.max(dirNo))
+ "");
上述代码给出了
9
作为答案。所以使用时要小心。您不希望根据需要将所有内容转换为
Integer


附言:这个例子来自于前面提到的问题,答案来自于对同一个问题的回答

对Bobby的答案再补充一点,你不需要排序,不需要,但是max和min的意思取决于你收集的类型。例如,请参阅特定的“max”方法:(使用自然顺序,如果需要其他顺序,请提供一个比较器[next method down])。但对其排序不会给出相同的结果。我理解这个问题是很重要的。你是对的。他的问题是,在使用max matter之前进行排序(您已经回答了:)。我提到了这一点,这是为了了解该人员试图做什么的总体意图。由于他想从名单中得到最大值,我只是想最好不要忘记(结果可能不是他所期望的结果);这是一个双打列表,因此他们应该“正确”排序。
ArrayList<String> dirNo = new ArrayList<String>();

dirNo.add("1");
dirNo.add("2");
dirNo.add("3");
dirNo.add("4");
dirNo.add("5");
dirNo.add("6");
dirNo.add("7");
dirNo.add("8");
dirNo.add("9");
dirNo.add("10");
dirNo.add("11");

System.out.println("max : " + Integer.parseInt(Collections.max(dirNo))
        + "");