- Массив строк Java
- Объявление массива строк Java
- Инициализация массива строк Java
- Итерация по массиву строк java
- Поиск строки в массиве строк
- Сортировка массива строк Java
- Преобразование строки в массив строк
- Преобразование массива строк в строку
- Массив строк Java для перечисления
- Читайте ещё по теме:
- Java String Array
- Java String Array Declaration
- Java String Array Initialization
- Iterating over java string array
- Search for a String in the String array
- Java String Array Sorting
- Convert String to String Array
- Convert String Array to String
- Java String Array to List
Массив строк Java
Массив строк Java, объявление массива строк в java, преобразование массива в строку java, преобразование строки в массив java, сортировка массива строк java, инициализация массива строк java, строка массива java, преобразование массива строк в список, примеры программ массива строк java.
Массив строк Java используется для хранения фиксированного количества строк. Строка массив очень распространен в простых java-программах , особенно среди новичков в java и для тестирования некоторых конкретных сценариев. Даже основной метод java аргумент является строковым массивом – public static void main(String[] args) . Поэтому сегодня мы рассмотрим различные аспекты массива строк java на примерах программ.
- Массив строк Java – это в основном массив объектов.
- Существует два способа объявления массива строк – объявление без размера и объявление с размером.
- Существует два способа инициализации массива строк – во время объявления, заполнение значений после объявления.
- Мы можем выполнять различные виды обработки строкового массива, такие как итерация, сортировка, поиск и т.д.
Давайте теперь рассмотрим примеры программ с массивом строк java.
Объявление массива строк Java
Ниже фрагмент кода показывает различные способы объявления массива строк в java.
String[] strArray; //declare without size String[] strArray1 = new String[3]; //declare with size
Обратите внимание, что мы также можем записать массив строк как String strArray [] , но выше показано, что это стандартный и рекомендуемый способ. Также в приведенном выше коде strArray равно null , тогда как strArray1 значение равно [null, null, null] .
Инициализация массива строк Java
Давайте рассмотрим различные способы инициализации массива строк в java.
//inline initialization String[] strArray1 = new String[] ; String[] strArray2 = ; //initialization after declaration String[] strArray3 = new String[3]; strArray3[0] = "A"; strArray3[1] = "B"; strArray3[2] = "C";
Все три строковых массива будут иметь одинаковые значения. Однако, если вы вызовете для них метод equals , он вернет значение false.
System.out.println(strArray1.equals(strArray2)); // false System.out.println(Arrays.toString(strArray1).equals(Arrays.toString(strArray2)));// true
Причина в том, что массив-это объекты, а класс объектов реализует метод equals (), как показано ниже.
public boolean equals(Object obj)
Второе утверждение верно, потому что при преобразовании в строку их значения совпадают, а реализация метода String class equals() проверяет наличие значений. Для получения более подробной информации, пожалуйста, ознакомьтесь с документацией API класса строк.
Итерация по массиву строк java
Мы можем перебирать массив строк, используя java для цикла или java для цикла.
String[] strArray2 = ; for (int i = 0; i < strArray2.length; i++) < System.out.print(strArray2[i]); >for (String str : strArray2)
Поиск строки в массиве строк
Мы можем использовать цикл for для поиска строки в массиве, ниже приведен простой пример для этого.
package com.journaldev.stringarray; public class JavaStringArrayExample < public static void main(String[] args) < String[] strArray = < "A", "B", "C" >; boolean found = false; int index = 0; String s = "B"; for (int i = 0; i < strArray.length; i++) < if(s.equals(strArray[i])) < index = i; found = true; break; >> if(found) System.out.println(s +" found at index "+index); else System.out.println(s +" not found in the array"); > >
Обратите внимание на использование ключевого слова break, чтобы выйти из цикла, как только мы нашли строку.
Сортировка массива строк Java
Мы можем реализовать наш собственный алгоритм сортировки, или мы можем использовать метод сортировки классов массивов.
String[] vowels = ; System.out.println("Before sorting "+Arrays.toString(vowels)); Arrays.sort(vowels); System.out.println("After sorting "+Arrays.toString(vowels));
Вывод приведенного выше фрагмента кода будет:
Before sorting [a, i, u, e, o] After sorting [a, e, i, o, u]
Обратите внимание, что строка реализует сопоставимый интерфейс, поэтому она работает для естественной сортировки. В случае, если вы хотите выполнить сортировку каким-либо другим способом, вы можете использовать Arrays.sort() перегруженный метод, передав компаратор. Узнайте об этих методах сортировки в Comparable и Comparator на java .
Преобразование строки в массив строк
Мы можем преобразовать строку в массив строк, используя метод split () . Это полезно, когда вы получаете в качестве входных данных одну строку со значениями, разделенными символом-разделителем.
String str = "a,e,i,o,u"; String[] vowels = str.split(","); System.out.println(Arrays.toString(vowels)); //[a, e, i, o, u]
Преобразование массива строк в строку
Мы можем использовать метод Arrays.toString() для преобразования массива строк в строку. Обратите внимание, что массив не реализует метод toString () , поэтому, если вы попытаетесь получить его строковое представление, вам придется полагаться на класс Arrays или написать свой собственный пользовательский код.
String[] vowels = < "a", "e", "i", "o", "u" >; System.out.println(vowels); System.out.println(Arrays.toString(vowels));
Результат будет таким, как показано ниже.
[Ljava.lang.String;@3d04a311 [a, e, i, o, u]
Первый вывод связан с реализацией toString() класса объектов, как показано ниже.
Массив строк Java для перечисления
Мы можем получить представление списка строкового массива, используя Массивы.тоЛист() Метод. Обратите внимание, что этот список поддерживается массивом, и любая структурная модификация приведет к java.lang.Исключение UnsupportedOperationException .
Читайте ещё по теме:
Java String Array
While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.
- Java String array is basically an array of objects.
- There are two ways to declare string array — declaration without size and declare with size.
- There are two ways to initialize string array — at the time of declaration, populating values after declaration.
- We can do different kind of processing on string array such as iteration, sorting, searching etc.
Let’s go over java string array example programs now.
Java String Array Declaration
Below code snippet shows different ways for string array declaration in java.
String[] strArray; //declare without size String[] strArray1 = new String[3]; //declare with size
Note that we can also write string array as String strArray[] but above shows way is the standard and recommended way. Also in the above code, strArray is null whereas strArray1 value is [null, null, null] .
Java String Array Initialization
Let’s look at different ways to initialize string array in java.
//inline initialization String[] strArray1 = new String[] ; String[] strArray2 = ; //initialization after declaration String[] strArray3 = new String[3]; strArray3[0] = "A"; strArray3[1] = "B"; strArray3[2] = "C";
All the three string arrays will have same values. However if you will call equals method on them, it will return false.
System.out.println(strArray1.equals(strArray2)); // false System.out.println(Arrays.toString(strArray1).equals(Arrays.toString(strArray2)));// true
The reason is that array are Objects and Object class implements equals() method like below.
public boolean equals(Object obj)
Second statement is true because when converted to String, their values are same and String class equals() method implementation check for values. For more details, please check String class API documentation.
Iterating over java string array
We can iterate over string array using java for loop or java foreach loop.
String[] strArray2 = ; for (int i = 0; i < strArray2.length; i++) < System.out.print(strArray2[i]); >for (String str : strArray2)
Search for a String in the String array
We can use for loop to search for an string in the array, below is a simple example for that.
package com.journaldev.stringarray; public class JavaStringArrayExample < public static void main(String[] args) < String[] strArray = < "A", "B", "C" >; boolean found = false; int index = 0; String s = "B"; for (int i = 0; i < strArray.length; i++) < if(s.equals(strArray[i])) < index = i; found = true; break; >> if(found) System.out.println(s +" found at index "+index); else System.out.println(s +" not found in the array"); > >
Notice the use of break keyword to get out of the loop as soon as we found the string.
Java String Array Sorting
We can implement our own sorting algorithm, or we can use Arrays class sorting method.
String[] vowels = ; System.out.println("Before sorting "+Arrays.toString(vowels)); Arrays.sort(vowels); System.out.println("After sorting "+Arrays.toString(vowels));
Output of above code snippet will be:
Before sorting [a, i, u, e, o] After sorting [a, e, i, o, u]
Note that String implements Comparable interface, so it works for natural sorting. Incase you want to sort by some other way, you can use Arrays.sort() overloaded method by passing a Comparator. Learn about these sorting techniques at Comparable and Comparator in java.
Convert String to String Array
We can convert String to string array using it’s split() method. It’s useful when you get a single string as input with values separated using delimiter character.
String str = "a,e,i,o,u"; String[] vowels = str.split(","); System.out.println(Arrays.toString(vowels)); //[a, e, i, o, u]
Convert String Array to String
We can use Arrays.toString() method to convert String array to String. Note that array doesn’t implement toString() method, so if you will try to get it’s string representation then you will have to rely on Arrays class, or else write your own custom code.
String[] vowels = < "a", "e", "i", "o", "u" >; System.out.println(vowels); System.out.println(Arrays.toString(vowels));
Output will be like below.
[Ljava.lang.String;@3d04a311 [a, e, i, o, u]
The first output is because of Object class toString() implementation like below.
Java String Array to List
We can get a list representation of string array using Arrays.toList() method. Note that this list is backed by the array and any structural modification will result in java.lang.UnsupportedOperationException .
String[] vowels = < "a", "e", "i", "o", "u", "a", "o" >; List vowelsList = Arrays.asList(vowels); System.out.println("vowelsList = "+vowelsList); //vowelsList.add("x"); //java.lang.UnsupportedOperationException vowelsList.set(0, "x"); //allowed because no structural modification System.out.println("vowelsList = "+vowelsList);
That’s all for java string array. Reference: Arrays Oracle Documentation
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.