Java程序:从列表中获取最小值和最大值


在本文中,我们将了解如何在Java中从列表中获取最小值和最大值。列表是一个有序集合,允许我们顺序存储和访问元素。它包含基于索引的方法来插入、更新、删除和搜索元素。它也可以包含重复元素。

问题陈述

编写一个Java程序,从列表中获取最小值和最大值。以下是演示:

输入

Input list: [500, 650, 300, 250, 110]

输出

The minimum value of the list is: 110
The maximum value of the list is: 650

不同的方法

以下是从列表中获取最小值和最大值的几种不同方法:

使用main()方法

以下是使用main()方法从列表中获取最小值和最大值的步骤:

  • 首先,我们将从java.util包导入ArrayListCollectionsList
  • 创建一个名为input_list的新ArrayList来存储整数。
  • 向input_list添加元素(例如,500、650、300、250、110)。
  • 打印input_list以显示初始值。
  • 将input_list复制到一个新的列表sortedlist,并使用Collections.sort()对sortedlist进行排序。
  • 检查sortedlist是否为空或为null。
    • 如果是,则将最小值打印为Integer.MAX_VALUE。
    • 从sortedlist打印最小值(第一个元素)。
  • 我们将再次检查sortedlist是否为空或为null。
    • 如果是,则将最大值打印为Integer.MIN_VALUE并停止进一步执行。
    • 从sortedlist打印最大值(最后一个元素)。

示例

在这里,我们将所有操作绑定到main()方法下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class Demo {
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      List<Integer> input_list = new ArrayList<>();
      input_list.add(500);
      input_list.add(650);
      input_list.add(300);
      input_list.add(250);
      input_list.add(110);
      System.out.println("The list is defined as " +input_list);
      List<Integer> sortedlist = new ArrayList<>(input_list);
      Collections.sort(sortedlist);
      if (sortedlist == null || sortedlist.size() == 0) {
         System.out.println("\nThe minimum value of the list is: " +Integer.MAX_VALUE);
      }
      System.out.println("\nThe minimum value of the list is: " +sortedlist.get(0));
      if (sortedlist == null || sortedlist.size() == 0) {
         System.out.println("The maximum value of the list is: " + Integer.MIN_VALUE);
         return ;
      }
      int list_size = sortedlist.size() - 1;
      System.out.println("The maximum value of the list is: " + sortedlist.get(list_size));
   }
}

输出

Required packages have been imported
The list is defined as [500, 650, 300, 250, 110]

The minimum value of the list is: 110
The maximum value of the list is: 650

使用封装

以下是使用封装从列表中获取最小值和最大值的步骤:

  • 首先,我们将从java.util包导入ArrayListCollectionsList
  • 定义两个方法,get_min_valueget_max_value,它们接受一个List。每个方法都检查列表是否为空或为null,如果为true,则返回默认值(Integer.MAX_VALUE或Integer.MIN_VALUE)。否则,get_min_value返回已排序列表的第一个元素(最小值),get_max_value返回最后一个元素(最大值)。
  • 在main方法中,创建一个名为input_list的ArrayList,添加元素(例如,500、650、300、250、110),并打印它。
  • 将input_list复制到sortedlist,对其进行排序,然后使用get_min_value(sortedlist)和get_max_value(sortedlist)打印最小值和最大值。

示例

在这里,我们将操作封装到函数中,展示面向对象编程:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Demo {
   public static Integer get_min_value(List<Integer> sortedlist) {
      if (sortedlist == null || sortedlist.size() == 0) {
         return Integer.MAX_VALUE;
      }
      return sortedlist.get(0);
   }
   public static Integer get_max_value(List<Integer> sortedlist) {
      if (sortedlist == null || sortedlist.size() == 0) {
         return Integer.MIN_VALUE;
      }
      int list_size = sortedlist.size() - 1;
      return sortedlist.get(list_size);
   }
   public static void main(String[] args) {
      System.out.println("Required packages have been imported");
      List<Integer> input_list = new ArrayList<>();
      input_list.add(500);
      input_list.add(650);
      input_list.add(300);
      input_list.add(250);
      input_list.add(110);
      System.out.println("The list is defined as " +input_list);
      List<Integer> sortedlist = new ArrayList<>(input_list);
      Collections.sort(sortedlist);
      System.out.println("\nThe minimum value of the list is: " + get_min_value(sortedlist));
      System.out.println("The maximum value of the list is: " + get_max_value(sortedlist));
   }
}

输出

Required packages have been imported
The list is defined as [500, 650, 300, 250, 110]

The minimum value of the list is: 110
The maximum value of the list is: 650

更新于:2024年11月4日

662 次浏览

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.