Java 中的陣列:特徵、用法和實際場景
本文探討了 Java 中陣列的特性,例如固定大小、高效存取和類型安全,同時將它們與 ArrayList 等動態集合類型進行比較。它還提供了現實生活中的場景,例如儲存產品數量、修改每日溫度、對學生成績進行排序等,來展示陣列在 Java 中的實際應用。
在 Java 中,陣列是一種基本資料結構,允許開發人員在單一變數中儲存相同類型的多個值。由於其固定大小和直接存取功能,陣列提供了管理和操作資料的有效方法。本文將探討 Java 陣列的特性,將它們與 ArrayList 等其他集合類型進行比較,並展示陣列在現實生活中的用途。了解陣列的屬性和應用對於建立高效的 Java 程式至關重要。
下面列出了 Java 中的陣列特性:
- 固定大小:一旦定義,陣列的大小就無法改變。
- 有序:陣列按順序儲存元素,這意味著可以在恆定時間內透過索引存取元素。
- 效率:存取陣列中的任何元素都是一個恆定時間的操作。數組的記憶體開銷非常低,因為它們儲存單一類型的資料。
- 單一類型:Java 陣列是類型化的,這意味著它們只能儲存與陣列聲明中聲明的資料類型相同的元素。
陣列與ArrayList不同,ArrayList是列表,是集合介面的一部分。 Java 中的介面是一種參考類型,類似於類,只能包含常數、預設方法、靜態方法和巢狀類型(Tutorials Point,n. d.)。對於集合接口,它包括 add()、remove()、get() 和 size() 等方法(Oracle 文檔,n.d.)。這允許不同類型的清單類別(例如 ArrayList、LinkedList 和其他類似 Set 類別)使用這些方法。
請注意,陣列不是集合介面的一部分。換句話說,它們沒有與之關聯的方法。
使用陣列的現實場景
場景 1 在商店中儲存產品數量:
陣列可用於追蹤商店中不同產品的數量。例如,陣列的每個元素代表特定產品的數量。
public class Main { public static void main(String[] args) { // Stores product quantities int[] quantities = new int[4]; // Storing product quantities quantities[0] = 50; quantities[1] = 30; quantities[2] = 20; quantities[3] = 40; // Prints the product quantities for (int i = 0; i < quantities.length; i++) { System.out.println("Product " + (i + 1) + " Quantity: " + quantities[i]); } } }
輸出:
Product 1 Quantity: 50 Product 2 Quantity: 30 Product 3 Quantity: 20 Product 4 Quantity: 40
場景 2:
數組可用於儲存和修改每日溫度。
public class Main { public static void main(String[] args) { // Stores daily temperatures int[] temperatures = {68, 70, 75, 72, 69, 71, 73}; // Prints initial temperatures System.out.println("Initial daily temperatures:"); printTemperatures(temperatures); // Modifies temperatures modifyTemperature(temperatures, 2, 78); modifyTemperature(temperatures, 5, 74); // Prints updated temperatures System.out.println("\nUpdated daily temperatures:"); printTemperatures(temperatures); } // Method to print all temperatures public static void printTemperatures(int[] temperatures) { String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday","Saturday", "Sunday"}; for (int i = 0; i < temperatures.length; i++) { System.out.println(days[i] + ": " + temperatures[i] + "°F"); } } // Method to modify a temperature public static void modifyTemperature(int[] temperatures, int dayIndex, int newTemperature) { if (dayIndex >= 0 && dayIndex < temperatures.length) { temperatures[dayIndex] = newTemperature; } else { System.out.println("Invalid day index!"); } } }
輸出:
public class Main { public static void main(String[] args) { // Stores product quantities int[] quantities = new int[4]; // Storing product quantities quantities[0] = 50; quantities[1] = 30; quantities[2] = 20; quantities[3] = 40; // Prints the product quantities for (int i = 0; i < quantities.length; i++) { System.out.println("Product " + (i + 1) + " Quantity: " + quantities[i]); } } }
場景 3:
數組可用於儲存和排序學生在特定班級的成績。
Product 1 Quantity: 50 Product 2 Quantity: 30 Product 3 Quantity: 20 Product 4 Quantity: 40
輸出
public class Main { public static void main(String[] args) { // Stores daily temperatures int[] temperatures = {68, 70, 75, 72, 69, 71, 73}; // Prints initial temperatures System.out.println("Initial daily temperatures:"); printTemperatures(temperatures); // Modifies temperatures modifyTemperature(temperatures, 2, 78); modifyTemperature(temperatures, 5, 74); // Prints updated temperatures System.out.println("\nUpdated daily temperatures:"); printTemperatures(temperatures); } // Method to print all temperatures public static void printTemperatures(int[] temperatures) { String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday","Saturday", "Sunday"}; for (int i = 0; i < temperatures.length; i++) { System.out.println(days[i] + ": " + temperatures[i] + "°F"); } } // Method to modify a temperature public static void modifyTemperature(int[] temperatures, int dayIndex, int newTemperature) { if (dayIndex >= 0 && dayIndex < temperatures.length) { temperatures[dayIndex] = newTemperature; } else { System.out.println("Invalid day index!"); } } }
總而言之,Java 陣列具有固定大小,它們儲存相同類型的多個值。它們透過使用索引提供對元素的高效、持續的訪問,使它們適合需要關注記憶體開銷和速度的場景。雖然陣列不提供像 ArrayList 這樣的集合的靈活性,但它們仍然是 Java 有效處理有序資料工具包中非常寶貴的一部分。
參考文獻:
Oracle 文件。 (日期不詳)。 集合 (Java SE 21) [Java 平台,標準版 Java API 規格]。甲骨文。取自 https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Collection.html/
教程點。 (日期不詳)。 Java 介面。教程點。取自 https://www.tutorialspoint.com/java/java_interfaces.htm
原刊於 Alex.omegapy on Medium,由 Level UP Coding 於 2024 年 10 月 16 日發布。
以上是Java 中的陣列:特徵、用法和實際場景的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

公司安全軟件導致部分應用無法正常運行的排查與解決方法許多公司為了保障內部網絡安全,會部署安全軟件。 ...

將姓名轉換為數字以實現排序的解決方案在許多應用場景中,用戶可能需要在群組中進行排序,尤其是在一個用...

在使用IntelliJIDEAUltimate版本啟動Spring...

在使用MyBatis-Plus或其他ORM框架進行數據庫操作時,經常需要根據實體類的屬性名構造查詢條件。如果每次都手動...

系統對接中的字段映射處理在進行系統對接時,常常會遇到一個棘手的問題:如何將A系統的接口字段有效地映�...

Java對象與數組的轉換:深入探討強制類型轉換的風險與正確方法很多Java初學者會遇到將一個對象轉換成數組的�...

電商平台SKU和SPU表設計詳解本文將探討電商平台中SKU和SPU的數據庫設計問題,特別是如何處理用戶自定義銷售屬...

Redis緩存方案如何實現產品排行榜列表的需求?在開發過程中,我們常常需要處理排行榜的需求,例如展示一個�...
