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.