JavaRush /Java Blog /Random-ID /Rehat kopi #241. Cara Mengonversi String ke Array - Pandu...

Rehat kopi #241. Cara Mengonversi String ke Array - Panduan Lengkap

Dipublikasikan di grup Random-ID
Sumber: FreeCodeCamp Dengan tutorial ini, Anda akan mempelajari cara mengonversi string menjadi array. Keterampilan ini akan berguna ketika mengembangkan aplikasi pengolah kata atau bekerja dengan data. Rehat kopi #241.  Cara Mengonversi String ke Array - Panduan Lengkap - 1String di Java adalah sekelompok karakter, sedangkan array adalah kumpulan elemen dengan tipe yang sama. Anda dapat membagi string menjadi beberapa bagian menggunakan proses konversi dan kemudian menyimpan potongan tersebut dalam array untuk diproses atau dianalisis lebih lanjut. Ada berbagai metode Java untuk mengubah string menjadi array. Mengetahuinya akan memungkinkan Anda memilih salah satu yang paling sesuai dengan kebutuhan pemrograman Anda.

Cara mengonversi string menjadi array menggunakan metode toCharArray()

Metode toCharArray() adalah fungsi Java bawaan yang memungkinkan Anda mengonversi string menjadi array karakter, dan setiap karakter string menjadi elemen array. Metode ini tersedia di kelas String .

Sintaks dan penggunaan metode toCharArray():

public class StringToArrayExample {
    public static void main(String[] args) {
        String str = "Hello, World!";

        // Преобразовать строку в массив символов
        char[] charArray = str.toCharArray();

        // Распечатать элементы массива
        for (char c : charArray) {
            System.out.println(c);
        }
    }
}

Penjelasan prosedurnya:

  1. Deklarasikan variabel string str dan tetapkan string yang diinginkan.
  2. Gunakan metode toCharArray() pada string str untuk mengubahnya menjadi array karakter. Metode ini membagi string menjadi karakter individual dan mengembalikan array yang berisi karakter tersebut.
  3. Simpan array karakter yang dihasilkan dalam variabel charArray .
  4. Ulangi charArray menggunakan loop for-each untuk mencetak setiap karakter satu per satu.
Kesimpulan:
Halo Dunia !

Kelebihan menggunakan toCharArray():

  • Kesederhanaan: Metode toCharArray() menyediakan cara sederhana untuk mengonversi string menjadi array karakter hanya dengan satu pemanggilan metode.
  • Keterbacaan: Array karakter yang dihasilkan dapat dengan mudah dimodifikasi, dimanipulasi, atau diulangi melalui loop.
  • String yang Tidak Dapat Diubah: Karena string tidak dapat diubah di Java, mengonversinya menjadi array karakter dapat berguna saat Anda perlu mengubah karakter individual.

Kekurangan menggunakan toCharArray():

  • Peningkatan penggunaan memori: Metode toCharArray() membuat array karakter baru, yang memerlukan memori tambahan. Ini bisa menjadi masalah jika Anda bekerja dengan string yang besar.
  • Kinerja: Membuat array karakter baru dan menyalin karakter dapat mengakibatkan penurunan kinerja dibandingkan metode lain, terutama untuk string panjang.

Cara membagi string menggunakan metode split()

Metode split() di Java adalah cara mudah untuk membagi string menjadi array substring berdasarkan pembatas yang diberikan. Metode ini tersedia di kelas String .

Sintaks dan penggunaan metode split():

String[] split(String delimiter)
Metode ini mengambil argumen sebagai pembatas, yang menentukan titik di mana string harus dibagi. Pembatas dapat berupa ekspresi reguler atau string sederhana. Contoh kode yang menunjukkan konversi menggunakan split() :
string = "Hello,World,How,Are,You?"
delimiter = ","

split_string = string.split(delimiter)
print(split_string)

Penjelasan prosedurnya:

  1. Kami mendefinisikan variabel string yang disebut string . Ini berisi teks yang ingin kita pisahkan: “Halo, Dunia, Apa Kabar, Kamu?”
  2. Kita menentukan pembatas koma ( , ) yang ingin kita gunakan untuk memisahkan string dan menugaskannya ke variabel pembatas .
  3. Kami kemudian menggunakan metode split() pada variabel string , meneruskan pembatas sebagai argumen . Ini membagi string menjadi substring di mana pun pembatas ditemukan .
  4. Metode split() mengembalikan daftar substring, yang kita tetapkan ke variabel split_string .
  5. Terakhir, kita print list split_string untuk melihat hasilnya.
Kesimpulan:
['Halo', 'Dunia', 'Bagaimana', 'Apakah', 'Kamu?']

Kelebihan menggunakan split():

  • Nyaman dan mudah digunakan.
  • Memungkinkan Anda membagi string berdasarkan pembatas yang ditentukan.
  • Mendukung ekspresi reguler sebagai pembatas, memberikan opsi pembatas yang fleksibel.

Kerugian menggunakan split():

  • Jika pembatas tidak ditemukan dalam string, maka string asli dikembalikan sebagai salah satu elemen array yang dihasilkan.
  • Ekspresi reguler bisa jadi rumit untuk digunakan, dan penggunaan yang salah dapat menyebabkan hasil yang tidak diharapkan.
  • Memisahkan string besar menggunakan ekspresi reguler yang kompleks dapat memakan biaya komputasi yang mahal.

Cara mengonversi string menjadi array menggunakan StringTokenizer

Kelas StringTokenizer di Java adalah kelas lama yang menyediakan cara mudah untuk memberi token atau membagi string menjadi token individual. Biasanya digunakan untuk mengubah string menjadi array dengan membaginya berdasarkan pembatas yang ditentukan.

Sintaks dan penggunaan StringTokenizer:

Untuk menggunakan StringTokenizer , pertama-tama Anda perlu membuat instance kelas StringTokenizer dengan meneruskan string dan pembatas sebagai parameter:
StringTokenizer tokenizer = new StringTokenizer(inputString, delimiter);
Kode sampel:
import java.util.StringTokenizer;

public class StringToArrayExample {
    public static void main(String[] args) {
        String inputString = "Hello,World,How,Are,You?";

        // Creation an object StringTokenizer с разделителем ","
        StringTokenizer tokenizer = new StringTokenizer(inputString, ",");

        int tokenCount = tokenizer.countTokens();
        String[] stringArray = new String[tokenCount];

        // Преобразование каждого токена в элементы массива
        for (int i = 0; i < tokenCount; i++) {
            stringArray[i] = tokenizer.nextToken();
        }

        // Печать выходного массива
        for (String element : stringArray) {
            System.out.println(element);
        }
    }
}

Penjelasan prosedurnya:

  1. Kode dimulai dengan membuat objek StringTokenizer bernama tokenizer dari string input dan dibatasi oleh "," .
  2. Metode countTokens() digunakan untuk mendapatkan jumlah total token yang ada dalam string input. Nilai ini disimpan dalam variabel tokenCount .
  3. stringArray yang dipanggil dibuat dengan ukuran yang sama dengan tokenCount .
  4. Metode nextToken() digunakan dalam satu lingkaran untuk mengulangi setiap token dan menetapkan indeks yang sesuai di stringArray .
  5. Terakhir, loop for digunakan untuk mencetak setiap elemen dalam file stringArray .
Kesimpulan:
Halo Dunia, Apa kabarmu?

Aplikasi StringTokenizer

StringTokenizer dapat berguna dalam berbagai skenario, termasuk:
  • Parsing data masukan yang terstruktur dengan pembatas yang konsisten.
  • Mengekstraksi kata atau komponen individual dari kalimat atau paragraf.
  • Memisahkan nilai yang dipisahkan koma menjadi elemen individual.
  • Tokenisasi teks untuk analisis leksikal atau tugas pemrosesan bahasa.

Kelebihan menggunakan StringTokenizer:

  • Kesederhanaan: Sintaks StringTokenizer sederhana dan lugas, sehingga dapat diakses oleh pemula.
  • Efisiensi: StringTokenizer efisien dalam hal memori dan kinerja dibandingkan dengan ekspresi reguler atau pemisahan berbasis karakter manual.
  • Pembatas fleksibel: Anda dapat menentukan beberapa pembatas atau menggunakan serangkaian pembatas yang telah ditentukan sebelumnya, sehingga memungkinkan tokenisasi universal.
  • Pemrosesan Iteratif: StringTokenizer memungkinkan Anda memproses token secara berulang, sehingga berguna untuk memproses string besar tanpa memuat semuanya ke dalam memori sekaligus.

Kontra menggunakan StringTokenizer:

  • Fungsionalitas terbatas: StringTokenizer tidak memiliki beberapa fitur lanjutan yang ditemukan dalam alternatif modern, seperti ekspresi reguler, yang memberikan fleksibilitas lebih besar dalam memberi token pada pola yang kompleks .
  • Tidak ada dukungan untuk ekspresi reguler: Tidak seperti metode lain seperti metode split() , StringTokenizer tidak dapat menggunakan ekspresi reguler sebagai pembatas, sehingga membatasi kemampuan tokenisasinya.
  • Tidak ada dukungan untuk token kosong: StringTokenizer tidak menangani token kosong secara default. Jika Anda memiliki pembatas yang berurutan, pembatas tersebut akan diperlakukan sebagai pembatas tunggal, yang dapat menyebabkan hasil yang tidak diharapkan.
  • Kelas yang tidak digunakan lagi: StringTokenizer adalah bagian dari kerangka koleksi Java lama dan tidak mengimplementasikan antarmuka Iterable , yang berarti tidak dapat digunakan dalam loop for yang diperluas .

Cara mengonversi secara manual setiap karakter string menjadi elemen array

Dalam situasi tertentu, Anda mungkin memerlukan kontrol lebih besar atas proses konversi atau ingin menyesuaikannya agar sesuai dengan kebutuhan spesifik Anda. Dalam kasus seperti itu, Anda dapat mengonversi string menjadi array dengan melakukan iterasi secara manual pada setiap karakter dalam string dan menugaskannya ke elemen individual dalam array. Contoh kode yang menunjukkan konversi manual:
string = "Hello, World!"
array = []

for char in string:
    array.append(char)

print(array)

Penjelasan prosedurnya:

  1. Kami mendefinisikan string variabel string dengan nilai "Halo, Dunia!" .
  2. Kami menginisialisasi daftar kosong yang disebut array .
  3. Kami menggunakan perulangan for untuk mengulangi setiap karakter dalam string .
  4. Di dalam loop, kita menggunakan metode append() untuk menambahkan setiap karakter ke array .
  5. Setelah loop selesai, kami mencetak array untuk melihat hasilnya.
Kesimpulan:
['H', 'e', ​​​​'l', 'l', 'o', ',', ' ', 'W', 'o', 'r', 'l', 'd', '!']

Kelebihan konversi manual:

  • Memberikan kontrol penuh atas proses konversi.
  • Memungkinkan karakter untuk dikustomisasi atau dimanipulasi sebelum ditugaskan ke array.
  • Berfungsi dengan baik ketika Anda perlu melakukan operasi tambahan selama konversi.

Kerugian dari konversi manual:

  • Memerlukan lebih banyak kode dan pemrosesan manual dibandingkan dengan metode bawaan seperti toCharArray() atau split() .
  • Mungkin kurang efisien untuk string besar karena proses iterasi manual.
  • Meningkatkan risiko kesalahan jika diterapkan secara tidak benar.
Catatan. Anda sebaiknya memilih metode konversi manual jika Anda perlu melakukan operasi khusus selama proses konversi. Jika tidak, metode bawaan seperti toCharArray() atau split() direkomendasikan untuk kesederhanaan dan efisiensi .

Perbandingan metode yang berbeda

keCharArray():

  • Metode sederhana dan jelas.
  • Mengembalikan array karakter yang mewakili string.
  • Cocok untuk konversi umum tanpa persyaratan khusus.

membelah():

  • Memisahkan string menjadi array berdasarkan pembatas yang ditentukan.
  • Berguna jika Anda perlu membagi string menjadi substring.
  • Memberikan fleksibilitas dalam memilih template pemisah.

StringTokenizer:

  • Dirancang khusus untuk tokenisasi string berbasis pembatas.
  • Memungkinkan Anda menyesuaikan karakter pembatas.
  • Cocok ketika Anda memerlukan kontrol granular atas proses tokenisasi.

Konversi manual:

  • Memberikan kontrol penuh atas proses konversi.
  • Memungkinkan Anda mengonfigurasi dan melakukan operasi tambahan pada simbol.
  • Direkomendasikan jika diperlukan persyaratan khusus selama konversi.

Mengapa Anda perlu mengetahui cara mengonversi string menjadi array di Java?

Pentingnya konversi string ke array di Java terletak pada keserbagunaan dan fleksibilitas yang ditawarkannya untuk pemrosesan data. Berikut beberapa alasan utama mengapa kemampuan mengonversi string menjadi array penting di Java:
  • Manipulasi data. Array menyediakan cara terstruktur untuk menyimpan dan memanipulasi data di Java. Dengan mengonversi string menjadi array, Anda dapat mengakses karakter atau substring individual, mengubah data, dan melakukan berbagai operasi seperti pengurutan, pencarian, atau pemfilteran.
  • Operasi algoritma. Banyak algoritma dan struktur data di Java memerlukan input dalam bentuk array. Dengan mengonversi string menjadi array, Anda dapat dengan mudah menerapkan algoritme ini dan melakukan operasi seperti pengurutan, pembalikan, atau pengambilan elemen tertentu.
  • Parsing dan analisis teks. String sering kali berisi data terstruktur atau dibatasi, seperti CSV (Comma Separated Values) atau JSON (JavaScript Object Notation). Mengonversi string menjadi array memungkinkan Anda memecah dan menganalisis data, memungkinkan analisis, pemrosesan, atau ekstraksi informasi spesifik lebih lanjut.
  • Manipulasi string. Meskipun string memiliki serangkaian metode manipulasinya sendiri, array menawarkan fleksibilitas tambahan. Mengonversi string menjadi array memungkinkan Anda menggunakan operasi spesifik array, seperti pengindeksan, pemotongan, atau penggabungan, untuk mengelola data secara lebih efisien atau memenuhi persyaratan pemformatan tertentu.
  • Kompatibilitas: Dalam beberapa skenario, Anda mungkin perlu mengonversi string menjadi array untuk berinteraksi dengan perpustakaan atau API yang mengharapkan input berbasis array. Dengan melakukan konversi, Anda dapat dengan mudah mengintegrasikan data string dengan komponen eksternal, memastikan kompatibilitas dan memungkinkan pertukaran data yang lancar.

Kesimpulan

Pada artikel ini, kita telah membahas berbagai metode untuk mengubah string menjadi array di Java. Anda mempelajari empat cara berbeda: menggunakan metode toCharArray() , memisahkan string menggunakan metode split() , menggunakan StringTokenizer , dan secara manual mengonversi setiap karakter menjadi elemen array. Kami telah membahas setiap metode secara mendetail, termasuk sintaksisnya, penggunaan, kode contoh, kelebihan dan kekurangannya.
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION