首頁  >  文章  >  Java  >  Java 中的字串數組

Java 中的字串數組

王林
王林原創
2024-08-30 15:28:26394瀏覽

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。

Java中字串型別陣列的初始化

宣告變數或資料結構後,下一步就是字串類型陣列的初始化。當初始化固定靜態值時,這很有用。陣列還可以動態初始化值,這完全取決於需求。

當要在運行時確定使用者輸入時,動態分配更有幫助,而如果您從原型設計的角度編寫程序,或者只是為了了解編寫的程式碼的風格,則需要靜態初始化字串類型數組也可以工作。
讓我們試著借助上面兩個例子來理解初始化的概念,這兩個例子只是在宣告數組字串變數的情況下進行解釋的。

範例:

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 中對字串陣列進行排序

在我們嘗試了解 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));

輸出:

Java 中的字串數組

在這種情況下需要注意的一點是字串實現了可比較的接口,因此這個東西在自然排序的情況下起作用。 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);
}
}

輸出:

Java 中的字串數組

在上面的範例中,我們引入了一個新的關鍵字break,它確保程式的循環一直保持到應用程式break關鍵字為止。此關鍵字適用於迴圈以及條件語句(例如 if-else)。因此,一旦我們能夠找到我們的字串,我們就使用break關鍵字退出。 Java 中用於搜尋的兩種非常流行的演算法是二分搜尋和線性搜尋。

以上是Java 中的字串數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn