Java 字串陣列就像 Java 中的任何其他字串函數一樣,用於進行字串操作。顧名思義,數組用於存儲同質組的數據,即裡面存儲的所有數據要么都是String類型,要么是double類型,要么是int類型等。因此,string數組是java中使用的資料結構儲存字串類型值,用於保存固定數量的字串值。這是 Java 程式語言中最常用的非常基本的資料結構層級之一。當你談論Java main方法時,即使該方法也是字串陣列類型。
字串陣列的宣告非常有用,就像java沒有宣告變數一樣;不可能使用它。 java 中有多種宣告字串陣列的方法,無需實例化對象,只需物件參考即可。
開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
讓我們看看字串陣列的宣告方式。
String [] strArr; //This is declaration of strArr array without specifying size String[] strArr1 = new String [3]; //This is the declaration of strArr array with specifying string type of size 3
在這種情況下,String [] strArr 也可以寫為 String strArr[],但前一種是更推薦的,也是接近語法的標準方法。
兩個聲明中需要注意的一點是,前一個值傳回值為 null,而後一個值回傳值為 [null, null, null],因為大小為 3。
宣告變數或資料結構後,下一步就是字串類型陣列的初始化。當初始化固定靜態值時,這很有用。陣列還可以動態初始化值,這完全取決於需求。
當要在運行時確定使用者輸入時,動態分配更有幫助,而如果您從原型設計的角度編寫程序,或者只是為了了解編寫的程式碼的風格,則需要靜態初始化字串類型數組也可以工作。
讓我們試著借助上面兩個例子來理解初始化的概念,這兩個例子只是在宣告數組字串變數的情況下進行解釋的。
範例:
String [] strArr= {"X", "Y", "Z"}; strArr1[0]="X"; strArr1[1]="Y"; strArr1[2]="Z"; String [] strArr2= new String [] {"X", "Y", "Z"};
如果我們開始比較上例中的兩個字串物件值,它們將傳回 false 結果。出現這種行為的原因是數組是對象,並且對象類別使用它作為當前對象值,因此值為 false。但另一方面,如果比較的值是實際值而不是對象,則傳回 true 結果。
在我們嘗試了解 Java 中如何進行排序之前,讓我們先了解排序的實際意義。排序意味著以特定方式排列數組的值,無論是升序還是降序。我們可以透過編寫自己的自訂排序函數或使用 Array 類別排序方法來實作排序技術。
範例:
String [] letters= {e, d, c, b, a}; System.out.println("Values before sorting" + Array.toString(letters)); Arrays.sort(letters); System.out.println("Values after sorting" + Array.toString(letters));
輸出:
在這種情況下需要注意的一點是字串實現了可比較的接口,因此這個東西在自然排序的情況下起作用。 Arrays.sort() 也可以用於透過使用比較器以其他方式對陣列的值進行排序。編寫自訂排序函數也是一種選擇,但僅當禁止使用已內建的庫排序函數時才應使用它,因為它是編譯器密集型的。在 Java 中,兩種最受歡迎的排序方法是冒泡排序和選擇排序。我們不會詳細介紹這些演算法,因為這超出了本文的範圍。
如果您希望從字串陣列中搜尋特定字串,我們可以使用循環構造或子字串。當字串比原始字串較小時,就可以使用子字串函數。如果字串比實際字串複雜,則可以使用循環結構在字串中搜尋字串。
讓我們藉助範例來理解字串的所有搜尋。
範例:
import java.io.*; public class SearchStringEG { public static void main(String args[]) throws IOException { String[] strArr = { "X", "Y", "z" }; boolean flag = false; String s = "Y"; int ind = 0; int l =strArr.length(); int i; for (i = 0; i < l; ++i) { if(s.equalsIgnoreCase(strArr[i])) { ind = i; flag = true; break; } } if(flag==true) System.out.print ("String " + s +" is found at index position "+ind); else System.out.print("String " + s +" is found at index position "+ ind); } }
輸出:
在上面的範例中,我們引入了一個新的關鍵字break,它確保程式的循環一直保持到應用程式break關鍵字為止。此關鍵字適用於迴圈以及條件語句(例如 if-else)。因此,一旦我們能夠找到我們的字串,我們就使用break關鍵字退出。 Java 中用於搜尋的兩種非常流行的演算法是二分搜尋和線性搜尋。
以上是Java 中的字串數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!