CodeGym /Blog Java /Ngẫu nhiên /Mảng chuỗi trong Java

Mảng chuỗi trong Java

Xuất bản trong nhóm
Thông thường cấu trúc dữ liệu đầu tiên mà một lập trình viên mới làm quen là một mảng. Đó là bởi vì mảng khá dễ học. Mảng một chiều là một chuỗi bao gồm một số ô cố định trong đó dữ liệu có thể được lưu trữ. Trong trường hợp ngôn ngữ Java, bạn chỉ có thể lưu trữ một loại dữ liệu trong một mảng. Nói cách khác, các mảng trong Java là đồng nhất. Các ô mảng có thể chứa các đối tượng thuộc bất kỳ loại nào. Bạn có thể đặt các đối tượng thuộc bất kỳ loại nào, nguyên thủy hoặc đối tượng, vào một mảng. Hôm nay chúng ta sẽ xem xét các mảng chuỗi trong ngôn ngữ Java, tức là các mảng, mỗi phần tử của nó là một chuỗi. Chúng ta sẽ tìm hiểu cách khai báo Java String Array và cách làm việc với nó.

Cách khai báo và khởi tạo một mảng chuỗi

Bạn có thể khai báo và khởi tạo một mảng String trong Java theo nhiều cách khác nhau. Ví dụ như trong mã dưới đây:
String[] myArray = {"value1", "value2", "value3"};
Ở đây trước tiên chúng ta khai báo một biến myArray kiểu String[] . Sau đó, chúng ta khởi tạo mảng với ba giá trị chuỗi được đặt trong dấu ngoặc nhọn. Ngoài ra, bạn có thể khai báo và khởi tạo mảng Chuỗi trên các dòng riêng biệt:
String[] myArray; // String array declaration
myArray = new String[] {"value1", "value2", "value3"}; // initialize the array
Ở đây chúng ta có kết quả tương tự như đoạn mã đầu tiên nhưng tách phần khai báo và khởi tạo thành hai bước. Ngoài ra, bạn có thể khởi tạo một mảng chỉ với kích thước, giống như dưới đây:
String[] myArray = new String[5];
Ở đây bạn tạo một mảng Chuỗi và chỉ định kích thước của Mảng Chuỗi , nhưng bạn không cung cấp bất kỳ giá trị ban đầu nào. Sau đó, bạn có thể gán các giá trị cho mảng bằng cách sử dụng vòng lặp hoặc bằng cách chỉ định các giá trị riêng lẻ. Lưu ý rằng trong mọi trường hợp, bạn phải chỉ định loại mảng (trong trường hợp này là String ) khi khai báo biến.

Cách lặp qua mảng Chuỗi

Trong Java, bạn có thể lặp qua một mảng Chuỗi bằng vòng lặp. Nó có thể là for hoặc một công trình foreach. Hãy lấy một ví dụ sử dụng cả hai loại vòng lặp:
public class IterateStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Using a for loop
        for (int i = 0; i < stringArray.length; i++) {
            String s = stringArray[i];
            System.out.print(s + " ");
        }
        System.out.println();

        // Using a foreach loop
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
        System.out.println();
    }
}
Ở đây trước tiên chúng ta tạo một mảng String có tên stringArray với bốn phần tử (Nhạc cụ dây). Sau đó, cả hai vòng lặp đều lặp qua từng phần tử của mảng chuỗi và in nó ra bàn điều khiển. Vòng lặp foreach là một cách lặp ngắn gọn hơn trong một mảng, nhưng vòng lặp for có thể hữu ích nếu bạn cần truy cập vào chỉ mục của từng phần tử. Đầu ra của chương trình này sẽ là:
violin viola cello bass đôi violin viola cello bass đôi

Cách thêm phần tử mới vào mảng

Bạn không thể thêm một phần tử mới vào một mảng trong Java. Tuy nhiên Java có những thủ thuật đặc biệt dành cho nó. Nếu bạn có một mảng các chuỗi và cần thêm một chuỗi mới vào cuối mảng, hãy sử dụng phương thức Arrays.copyOf . Phương thức này tạo một mảng mới với một phần tử bổ sung, sau đó thêm phần tử mới vào cuối mảng mới. Đây là một ví dụ:
//add string Array and a new element
String[] oldArray = {"violin", "viola", "cello"};
String newElement = "double bass";
String[] newArray = Arrays.copyOf(oldArray, oldArray.length + 1);
newArray[newArray.length - 1] = newElement;
Ở đây, phương thức Arrays.copyOf tạo một mảng mới có tên newArray với độ dài lớn hơn oldArray một đơn vị. Phương thức này thêm newElement vào cuối newArray bằng cách gán nó cho phần tử cuối cùng của newArray . Mảng trong Java có độ dài cố định, do đó bạn không thể thêm hoặc xóa các phần tử khỏi mảng sau khi nó được tạo. Để tự động thêm hoặc xóa các thành phần khỏi bộ sưu tập, tốt hơn bạn nên sử dụng cấu trúc dữ liệu khác. Ví dụ: Danh sách hoặc Bản đồ .

Cách sắp xếp các phần tử trong String Array

Chắc chắn, nếu bạn quan tâm đến các bài tập lập trình hay, bạn có thể viết thuật toán sắp xếp của mình cho quy trình sắp xếp. Tuy nhiên, trong các tác vụ thực tế, việc sử dụng phương thức Arrays.sort() sẽ dễ dàng hơn nhiều . Đây là một ví dụ:
import java.util.Arrays;

public class SortStringArrayExample {
    public static void main(String[] args) {
        String[] stringArray = {"violin", "viola", "cello", "double bass"};

        // Sorting the array
        Arrays.sort(stringArray);

        // Printing the sorted array
        for (String s : stringArray) {
            System.out.print(s + " ");
        }
    }
}
Ở đây trước tiên chúng ta tạo một mảng String có tên stringArray với bốn phần tử. Sau đó chúng ta gọi phương thức Arrays.sort() để sắp xếp các phần tử trong mảng theo thứ tự tăng dần. Cuối cùng, chúng ta lặp qua mảng đã sắp xếp bằng vòng lặp for-each và in từng phần tử ra bảng điều khiển. Đầu ra của chương trình này là tiếp theo:
đàn violon violon bass đôi
Như bạn có thể thấy, phương thức này đã sắp xếp các phần tử trong stringArray theo thứ tự bảng chữ cái.

Cách tìm kiếm một Chuỗi cụ thể trong mảng Chuỗi

Để tìm kiếm Chuỗi cần thiết trong một mảng Chuỗi trong Java, bạn có thể sử dụng vòng lặp để duyệt qua từng phần tử mảng và so sánh nó với Chuỗi bạn đang tìm kiếm. Đây là một chương trình ví dụ:
public class SearchString {

       public static void main(String[] args) {
           String[] stringArray = {"violin", "viola", "cello", "double bass"};
           String searchString1 = "cello";
           String searchString2 = "piano";
           search(stringArray, searchString1);
           search(stringArray, searchString2);

       }
          public static boolean search (String[] myArray, String myString){

           boolean found = false;

           // Loop through the array to search for the string
           for (String s : myArray) {
               if (s.equals(myString)) {
                   found = true;
                   break;
               }
           }

           // Print the result
           if (found) {
               System.out.println(myString + " found in the array.");
           } else {
               System.out.println(myString + " not found in the array.");
           } return found;
       }
}
Ở đây chúng ta đang tạo một phương thức có hai đối số, một mảng và một chuỗi cần tìm. Chúng tôi tạo một boolean 'được tìm thấy' để theo dõi xem chúng tôi có tìm thấy String hay không . Đó là giá trị tìm thấy mà phương thức sẽ trả về. Sau đó, chúng tôi sử dụng vòng lặp for-each để lặp qua từng phần tử mảng. Chúng ta sử dụng phương thức Equals() trong vòng lặp để so sánh phần tử hiện tại với chuỗi tìm kiếm. Nếu phương thức tìm thấy kết quả khớp, chúng ta đặt nó thành true và sử dụng câu lệnh break để thoát khỏi vòng lặp sớm. Cuối cùng, chúng tôi in kết quả tùy thuộc vào việc tìm thấy là đúng hay sai. Trong phương thức chính , chúng ta gọi phương thức tìm kiếm hai lần, với Chuỗi nằm trong mảng và chuỗi không nằm trong mảng. Đầu ra của chương trình này là tiếp theo:
cello được tìm thấy trong mảng. đàn piano không được tìm thấy trong mảng.

Cách chuyển đổi mảng chuỗi thành chuỗi

Bạn có thể sử dụng phương thức String.join() để chuyển đổi một mảng String thành String trong Java. Phương thức này trả về một chuỗi được nối bởi dấu phân cách đã cho. Dấu phân cách được sao chép cho từng phần tử trong phương thức String join() . Đây là một ví dụ:
String[] myArray = {"value1", "value2", "value3"};
String joinedString = String.join(", ", myArray);
System.out.println(joinedString);
Đầu ra là như sau:
giá trị1, giá trị2, giá trị3
Đầu tiên, chúng ta khai báo một mảng chuỗi myArray với ba giá trị chuỗi. Sau đó, chúng tôi sử dụng phương thức String.join() để nối tất cả các phần tử mảng thành một chuỗi. Đối số đầu tiên của String.join() là dấu phân cách bạn muốn sử dụng giữa mỗi phần tử mảng. Chúng tôi đã sử dụng "," (dấu phẩy theo sau là dấu cách) làm dấu phân cách. Đối số thứ hai là mảng mà bạn muốn tham gia. Cuối cùng, chúng ta gán Chuỗi kết quả cho biến joinString và in nó ra bàn điều khiển.
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION