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