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包导入ArrayList、Collections和List。
- 创建一个名为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包导入ArrayList、Collections和List。
- 定义两个方法,get_min_value和get_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
广告
数据结构
网络
关系型数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP