實(shí)現(xiàn)獲取List集合中的最大值和最小值共有以下兩種方式,根據(jù)自己的場(chǎng)景選擇合適的方法。
目錄
Collections
1、String、Integer、Double類型
2、對(duì)象類型
排序
1、Integer類型
2、 基本排序方式:
-
Collections
1、String、Integer、Double類型
當(dāng)List中元素為String、Integer、Double類型時(shí),可以使用Collections類中的?max?和?min?方法直接獲取最大值和最小值;
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("10");
stringList.add("34");
stringList.add("67");
stringList.add("84");
stringList.add("1");
System.out.println("(String類型)最大值=" + Collections.max(stringList));
System.out.println("(String類型)最小值=" + Collections.min(stringList));
List<Integer> integerList = new ArrayList<>();
integerList.add(5);
integerList.add(38);
integerList.add(52);
integerList.add(88);
integerList.add(100);
System.out.println("(Integer類型)最大值=" + Collections.max(integerList));
System.out.println("(Integer類型)最小值=" + Collections.min(integerList));
List<Double> doubleList = new ArrayList<>();
doubleList.add(1.5);
doubleList.add(45.6);
doubleList.add(88.08);
doubleList.add(55.2);
doubleList.add(100.01);
System.out.println("(Double類型)最大值=" + Collections.max(doubleList));
System.out.println("(Double類型)最小值=" + Collections.min(doubleList));
}
注意:當(dāng)List元素因?yàn)轭愋蜑镾tring時(shí),可能會(huì)出現(xiàn)以下問(wèn)題;
- 當(dāng)最大值為10或10的倍數(shù)時(shí)不生效,為最小值時(shí)生效;
- 當(dāng)元素?cái)?shù)據(jù)全部為10或10的倍數(shù)時(shí),最大值和最小值均生效;
2、對(duì)象類型
當(dāng)List中元素為對(duì)象時(shí),比如想要獲取年齡最大和最小人的信息;
-
排序
1、Integer類型
當(dāng)List元素類型為Integer時(shí)可以使用排序,比如使用冒泡排序?qū)ist元素按照從大到小排序,然后取List的第一個(gè)和最后一個(gè)元素獲取最大值和最小值;
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-442969.html
2、 基本排序方式:
冒泡排序_想養(yǎng)一只!的博客-CSDN博客主要就是利用兩個(gè)for循環(huán),然后前一個(gè)元素與后一個(gè)元素進(jìn)行大小比較,如果前一個(gè)元素比后一個(gè)元素大的話,那么就交換他們的位置,逐個(gè)比較完所有的元素即可。public static void main(String[] args) {int arr[] = {1,4,9,2,8,3,0};System.out.println("排序之前的數(shù)組順序?yàn)椋?);for(int a : a...https://blog.csdn.net/weixin_45151960/article/details/104761269選擇排序_排序算法在大量的元素當(dāng)中選出幾個(gè)元素_想養(yǎng)一只!的博客-CSDN博客概念:選擇排序也屬于內(nèi)部排序法,是從欲排序的數(shù)據(jù)中,按指定的規(guī)則選出來(lái)某一個(gè)元素,再依規(guī)定交換位置后達(dá)到排序的目的。思想:基本思想是:弟一次從arr[0] ~ arr[n-1]中選取最小值,與arr[0]交換,弟二次從arr[1] ~ arr[n-1]中選取最小值,與arr[1]交換,弟三次從arr[2] ~ arr[n-1]中選取最小值,與arr[2]交換,… ,弟i次從arr[i-1] ...https://blog.csdn.net/weixin_45151960/article/details/104762648插入排序法(思路及代碼實(shí)現(xiàn))_想養(yǎng)一只!的博客-CSDN博客插入排序法思想:插入排序的基本思想是:把n個(gè)待排序的元素看成一個(gè)有序表和一個(gè)無(wú)序表,開(kāi)始時(shí)有序表只包含一個(gè)元素,無(wú)序表中包含有n-1個(gè)元素,排序過(guò)程中每次從無(wú)序表中取出第一個(gè)元素,把它的排序碼依次與有序表元素的排序碼進(jìn)行比較,將它插入到有序表中的適當(dāng)位置,使之成為新的有序表。下圖中的初始狀態(tài)時(shí),17就為有序表中的一個(gè)元素,剩下的元素都包含在無(wú)序表中,然后取數(shù)據(jù)3與17進(jìn)行比較,然后插入到合適的...https://blog.csdn.net/weixin_45151960/article/details/104911052快速排序法(思想及代碼實(shí)現(xiàn))_想養(yǎng)一只!的博客-CSDN博客快速排序思想:快速排序是對(duì)冒泡排序的一種改進(jìn),基本思想是:通過(guò)一趟排序?qū)⒁判虻臄?shù)據(jù)分割成獨(dú)立的兩部分,其中一部分的所有數(shù)據(jù)都比另外一部分的所有數(shù)據(jù)都要小,然后再按此方法對(duì)著兩部分?jǐn)?shù)據(jù)分別進(jìn)行快速排序,整個(gè)排序過(guò)程可以遞歸進(jìn)行,以此達(dá)到整個(gè)數(shù)據(jù)變成有序序列。下圖所示的是按照最后一個(gè)數(shù)據(jù)作為中間數(shù),然后將整個(gè)數(shù)組分割成兩個(gè)部分,代碼所示的內(nèi)容是取數(shù)據(jù)的中間數(shù)作為分界,然后分割成兩部分。pub...https://blog.csdn.net/weixin_45151960/article/details/104913035文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-442969.html
到了這里,關(guān)于獲取List集合中的最大值和最小值的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!