获取List集合中的最大值和最小值

获取List集合中的最大值和最小值

Collections

String、Integer、Double类型

  • 当List中元素为String、Integer、Double类型时,可以使用Collections类中的 max 和 min 方法直接获取最大值和最小值;

  • public static void main(String[] args) {
            List 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 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 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));
        }
    
  • 获取List集合中的最大值和最小值_第1张图片

  • **注意:**当List元素因为类型为String时,可能会出现以下问题;

  • 当最大值为10或10的倍数时不生效,为最小值时生效;

  • 获取List集合中的最大值和最小值_第2张图片

  • 当元素数据全部为10或10的倍数时,最大值和最小值均生效;

  • 获取List集合中的最大值和最小值_第3张图片

对象类型

  • 当List中元素为对象时,比如想要获取年龄最大和最小人的信息;
  • 获取List集合中的最大值和最小值_第4张图片

排序

Integer类型

  • 当List元素类型为Integer时可以使用排序,比如使用冒泡排序将List元素按照从大到小排序,然后取List的第一个和最后一个元素获取最大值和最小值;
  • 获取List集合中的最大值和最小值_第5张图片

你可能感兴趣的:(list,java,数据结构)