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

Collections

String、Integer、Double类型

  • 当List中元素为String、Integer、Double类型时,可以使用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));
    }

获取List集合中的最大值和最小值_数据结构

  • **注意:**当List元素因为类型为String时,可能会出现以下问题;
  • 当最大值为10或10的倍数时不生效,为最小值时生效;

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

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

获取List集合中的最大值和最小值_数据结构_03

对象类型

  • 当List中元素为对象时,比如想要获取年龄最大和最小人的信息;

排序

Integer类型

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

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