java string array tutorial with code examples
Този урок за Java String Array обяснява как да декларирате, инициализирате и създавате масиви от низове в Java и конверсии, които можем да извършим в String Array:
Масивите са важна структура от данни в Java, които се използват за съхраняване на различни видове данни от примитивни до дефинирани от потребителя. Вече видяхме основите на Arrays и другите основни операции, които могат да бъдат извършени върху Arrays.
В един от предишните ни уроци обсъдихме различните видове данни, които може да съдържа масив.
=> A-Z на Java обучение за начинаещи
Един от типовете данни, които масивите могат да съдържат, е низ. В този случай масивът се нарича масив String.
Какво ще научите:
- Какво представлява масив от низове в Java?
- Деклариране на масив от низове
- Инициализиране на масив от низове
- Дължина / размер на масив от струни
- Итерация и отпечатване на масив от низове
- Добавяне към масива от низове
- Сортирайте масив от низове
- Потърсете низ в масива от низове
- Преобразуване на масив от низове в низ
- Конвертиране на низ в масива от низове
- Преобразуване на масив от низове в списък
- Преобразуване на списъка в масива от низове
- Преобразуване на масив от низове в масив Int
- често задавани въпроси
- Заключение
Какво представлява масив от низове в Java?
Можем да имаме масив с низове като негови елементи. По този начин можем да дефинираме String Array като масив, съдържащ фиксиран брой низове или низови стойности. String array е една структура, която се използва най-често в Java. Ако си спомняте, дори аргументът на функцията ‘main’ в Java е String Array.
String array е масив от обекти. Това е така, защото всеки елемент е String и вие знаете, че в Java String е обект. Можете да правите всички операции с масив String, като сортиране, добавяне на елемент, присъединяване, разделяне, търсене и т.н.
В този урок ще обсъдим подробно масива от низове в Java заедно с различните операции и преобразувания, които можем да извършим върху масиви от низове.
Деклариране на масив от низове
String Array може да бъде деклариран по два начина, т.е. с размер или без да се посочва размера.
По-долу са дадени двата начина за деклариране на String Array.
String[] myarray ; //String array declaration without size
String[] myarray = new String[5];//String array declaration with size
В първата декларация String Array се декларира точно като нормална променлива без никакъв размер. Имайте предвид, че преди да използвате този масив, ще трябва да го създадете с нов.
Във втората декларация се декларира и създава екземпляр String Array с помощта на new. Тук се декларира String масив ‘myarray’ с пет елемента. Ако отпечатате директно елементите на този масив, ще видите всички нулеви стойности, тъй като масивът не е инициализиран.
Нека да приложим програма, която показва декларация String Array.
public class Main { public static void main(String[] args) { String[] myarray; //declaration of string array without size String[] strArray = new String[5]; //declaration with size //System.out.println(myarray[0]); //variable myarray might not have been initialized //display elements of second array System.out.print(strArray[0] + ' ' +strArray[1]+ ' ' + strArray[2]+ ' ' + strArray[3]+ ' ' +strArray[4]); } }
Изход:
Горната програма показва два начина за деклариране на String Array. Както бе споменато по-рано, първата декларация е без размер и инстанция. Следователно, преди да използвате този масив, трябва да го създадете с помощта на new. В горната програма масивът myarray се използва без екземпляр и по този начин води до грешка в компилатора (коментиран израз).
Втората декларация е с размера. Така че, когато се отпечатват отделни елементи от този масив String, стойностите на всички елементи са нула, тъй като масивът не е инициализиран.
Инициализиране на масив от низове
След като String Array бъде деклариран, трябва да го инициализирате с някои стойности. В противен случай стойностите по подразбиране, които се присвояват на String елементи, са нула. По този начин, след декларацията, ние продължаваме да инициализираме масива.
String масив може да бъде инициализиран или вграден заедно с декларацията, или може да бъде инициализиран след декларирането му.
Първо, нека видим как масив String може да бъде инициализиран вграден.
String[] numarray = {“one”, “two”, “three”}; String[] strArray = new String[] {“one”, “two”, “three”, “four”};
В горния String Array инициализациите са вградени инициализации. String Array се инициализира едновременно с декларирането.
Можете също да инициализирате String Array както следва:
String[] strArray = new String[3]; strArray[0] = “one”; strArray[1] = “two”; strArray[2] = “three”;
Тук първо се декларира String Array. След това в следващия ред на отделните елементи се присвояват стойности. След като String Array е инициализиран, можете да го използвате в програмата си нормално.
Дължина / размер на масив от струни
Знаете, че за да получите размера на масива, масивите имат свойство, наречено ‘дължина’. Това важи и за String Arrays.
Размерът или дължината на масива (всеки масив) дава броя на елементите, присъстващи в масива. По този начин, за да получите дължината на масива с име myarray, можете да дадете следния израз.
int len = myarray.length;
Нека внедрим програма, която ще изведе дължината на низ от масиви.
public class Main { public static void main(String[] args) { //declare and initialize a string array String[] numArray = {'one','two', 'three', 'four', 'five'}; int len = numArray.length; //get the length of array //display the length System.out.println('Length of numArray{'one','two', 'three', 'four', 'five'}:' + len); } }
Изход:
Свойството length е полезно, когато трябва да прегледате масив от низове, за да го обработите или просто да го отпечатате.
Итерация и отпечатване на масив от низове
Досега обсъждахме декларация, инициализация и свойство дължина на String Array и сега е време да преминем през всеки елемент от масива и също така да отпечатаме елементите String Array.
Както при всички масиви, можете да итерирате над String Array, използвайки for loop и подобрен for loop.
Дадено по-долу е a Реализация на Java, която демонстрира използването на усъвършенстван цикъл for за пресичане / итерация на масива и отпечатване на неговите елементи.
public class Main { public static void main(String[] args) { //declare and initialize a string array String[] numArray = {'one','two', 'three', 'four', 'five'}; System.out.println('String Array elements displayed using for loop:'); // for loop to iterate over the string array for(int i=0; i Изход:

В горната програма както за цикъл, така и за разширение за цикъл се използват за обхождане на масива от низове. Имайте предвид, че в случай на усъвършенстван цикъл for, не е необходимо да се посочват условието за ограничение или край. В случай на цикъл „за“ трябва да посочите началното и крайното условие.
Добавяне към масива от низове
Подобно на другите типове данни, можете да добавяте елементи и за String Arrays. В този раздел нека видим различните методи за добавяне на елемент към масива от низове.
Използване на предварително разпределение
В този метод създавате масив с по-голям размер. Например, ако трябва да съхраните 5 елемента в масива, тогава ще създадете масив с размер 10. По този начин можете лесно да добавяте нови елементи в края на масива.
Пример, който реализира добавянето на елемент към предварително разпределения масив, е показан по-долу.
import java.util.*; public class Main { public static void main(String[] args) { String[] colorsArray = new String[5]; // initial array values colorsArray[0] = 'Red'; colorsArray[1] = 'Green'; colorsArray[2] = 'Blue'; System.out.println('Original Array:' + Arrays.toString(colorsArray)); intnumberOfItems = 3; // try to add new value at the end of the array String newItem = 'Yellow'; colorsArray[numberOfItems++] = newItem; System.out.println('Array after adding one element:' + Arrays.toString(colorsArray)); } }
Изход:

Имайте предвид, че незаетото пространство в масива е зададено на Null. Недостатъкът на този метод е, че има загуба на пространство, тъй като може да създадете голям масив, който може да остане незает.
Използване на нов масив
В този метод създавате нов масив с размер, който е по-голям от оригиналния масив, за да можете да поберете новия елемент. След създаването на новия масив всички елементи на оригиналния масив се копират в този масив и след това новият елемент се добавя в края на масива.
Примерна програма за добавяне на елемент с помощта на новия масив е показана по-долу.
importjava.util.*; public class Main { public static void main(String[] args) { //original array String[] colorsArray = {'Red', 'Green', 'Blue' }; System.out.println('Original Array: ' + Arrays.toString(colorsArray)); //length of original array int orig_length = colorsArray.length; //new element to be added to string array String newElement = 'Orange'; //define new array with length more than the original array String[] newArray = new String[ orig_length + 1 ]; //add all elements of original array to new array for (int i=0; i Изход:
използване на ipad за точка на продажба

Този подход очевидно води до допълнителни разходи за памет и производителност, тъй като трябва да поддържате два масива в програмата.
Използване на ArrayList
Можете също да добавите елемент към String масив, като използвате ArrayList като междинна структура от данни.
Пример е показан по-долу.
import java.io.*; import java.lang.*; import java.util.*; class Main { public static void main(String[] args) { // define initial array String numArray[] = { 'one', 'two', 'three', 'four', 'five', 'six' }; // print the original array System.out.println('Initial Array:
' + Arrays.toString(numArray)); // new element to be added String newElement = 'seven'; // convert the array to arrayList ListnumList = new ArrayList( Arrays.asList(numArray)); // Add the new element to the arrayList numList.add(newElement); // Convert the Arraylist back to array numArray = numList.toArray(numArray); // print the changed array System.out.println('
Array with value ' + newElement + ' added:
' + Arrays.toString(numArray)); } }
Изход:

Както е показано в горната програма, масивът от низове първо се преобразува в ArrayList, използвайки метода asList. След това новият елемент се добавя към ArrayList с помощта на метода add. След като елементът бъде добавен, ArrayList се преобразува обратно в масива.
Това е по-ефективен подход в сравнение с тези, обсъдени по-рано.
Струнният масив съдържа
В случай, че искате да знаете дали даден низ присъства в масива от низове или не, тогава можете да използвате метода ‘contains’. За това трябва първо да преобразувате масива от низове в ArrayList, тъй като този метод принадлежи на ArrayList.
Следващото изпълнение показва използването на метода ‘съдържа’.
import java.io.*; import java.lang.*; import java.util.*; class Main { public static void main(String[] args) { String[] words = new String[]{'C++', 'Java', 'C', 'Python'}; // Convert String Array to List Listwordslist = Arrays.asList(words); String tochk = 'Java'; if(wordslist.contains(tochk)){ System.out.println('The word ' + tochk + ' present in string array'); } else System.out.println('The word ' + tochk + ' not present in string array' ); } }
Изход:

Първо проверихме дали даденият масив от низове съдържа низ „Java“. Тъй като е налице, се показва подходящо съобщение. След това променяме низа, който трябва да бъде проверен, на „C #“. В този случай методът ‘contains’ връща false.

Имайте предвид, че за метода contains низът, предаден като аргумент, винаги е чувствителен към малки и големи букви. По този начин в горната реализация, ако предоставим ‘java’ като аргумент на метод, съдържащ, той ще върне false.
Сортирайте масив от низове
Вече видяхме подробна тема на тема „Сортиране в масиви“. Методите за сортиране на масив от низове са същите, точно както другите масиви.
По-долу е дадено изпълнение на метода ‘sort’ на клас ‘Arrays’, който сортира низовете в масива по азбучен ред.
import java.util.*; class Main { public static void main(String[] args) { String[] colors = {'red','green','blue','white','orange'}; System.out.println('Original array: '+Arrays.toString(colors)); Arrays.sort(colors); System.out.println('Sorted array: '+Arrays.toString(colors)); } }
Изход:

Резултатът от горната програма показва оригиналния входен масив, както и изходния масив, който е сортиран по азбучен ред.
Потърсете низ в масива от низове
Освен метода ‘contains’, който току-що обсъдихме, можете също да търсите определен низ в String Array, като обхождате всеки елемент от String Array. Тук ще сравните всеки елемент в String Array с низа, който ще се търси.
Търсенето се прекратява, когато се намери първото появяване на низа и се върне съответният индекс на низа в масива. Ако низът не бъде намерен до края на масива от низове, тогава се показва подходящо съобщение.
Това изпълнение е показано в следната програма Java.
import java.util.*; class Main { public static void main(String[] args) { String[] strArray = { 'Book', 'Pencil', 'Eraser', 'Color', 'Pen' }; boolean found = false; int index = 0; String searchStr = 'Pen'; for (int i = 0; i Изход:

Горната програма търси низа ‘Pen’ в даден масив от низове и връща съответния му индекс, когато бъде намерен.
Преобразуване на масив от низове в низ
Нека обсъдим начините за преобразуване на масив от низове в низ. Ще обсъдим три различни метода, за да направим това, с пример за всеки.
Използване на метода toString
Първият метод използва метода ‘toString’ от класа ‘Arrays’. Той взема масив от низове като аргумент и връща низовото представяне на масива.
Следващата програма на Java показва използването на метода toString.
import java.util.*; public class Main { public static void main(String args[]) { //declare a string String[] str_Array = {'This','is','Software','Testing','Help'}; System.out.println('String array converted to string:' + Arrays.toString(str_Array)); } }
Изход:

Горната програма използва метода ‘toString’, за да покаже низовото представяне на дадения низ масив.
Използване на метода StringBuilder.Append ()
Следващият подход за преобразуване на масив от низове в низ е чрез използване на класа ‘StringBuilder’. Трябва да създадете обект от тип StringBuilder и да използвате метода ‘Append’ на StringBuilder, за да добавите елементите от масив низове към обекта StringBuilder един по един.
След като всички елементи на масива са добавени към обекта StringBuilder, можете да използвате метода ‘toString’ на този обект, за да получите най-накрая низовото представяне.
import java.util.*; public class Main { public static void main(String args[]) { //string array String[] str_Array = {'This','is','Software','Testing','Help'}; System.out.print('Original string array:'); //print string array for(String val:str_Array) System.out.print(val + ' '); System.out.println('
'); //construct a stringbuilder object from given string array StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i Изход:

безплатни сайтове за аниме стрийминг на английски език
Горната програма показва преобразуването на масив от низове в низ чрез клас StringBuilder.
Използване на операция за присъединяване
Можете също да използвате операцията ‘join’ на класа String, за да промените масива от низове в представяне на низ.
Операцията ‘присъединяване’ отнема два аргумента, първият е разделителят или разделителя за низа, а вторият аргумент е масивът от низове. След това операцията за присъединяване връща низа, разделен от посочен разделител (първи аргумент).
Проверете следната програма, която демонстрира използването на операция за присъединяване за получаване на низ от String Array.
import java.util.*; public class Main { public static void main(String args[]) { //string array String[] str_Array = {'This','is','Software','Testing','Help'}; System.out.println('Original string array:'); //print the string array for(String val:str_Array) System.out.print(val + ' '); System.out.println('
'); //form a string from string array using join operation String joinedString = String.join(' ', str_Array); //print the string System.out.println('String obtained from string array:' + joinedString); } }
Изход:

Конвертиране на низ в масива от низове
Нека да видим обратната операция на преобразуване на низ в низ масив. Има два метода за това преобразуване.
Използване на сплит операция
Първият метод за преобразуване на низ в низ масив е да се използва операцията разделяне на класа String. Можете да разделите низа на определен разделител (запетая, интервал и т.н.) и да върнете новогенерирания масив от низове.
Следващото изпълнение демонстрира използването на разделена операция.
public class Main { public static void main(String args[]) { //declare a string String myStr = 'This is Software Testing Help'; //use split function to split the string into a string array String[] str_Array = myStr.split(' ', 5); System.out.println('String Array after splitting the string '' + myStr + '':'); //display the string array for (int i=0;i Изход:

Горната програма използва функцията за разделяне, за да раздели низа въз основа на интервала и връща масив от низове от 5 елемента.
Използване на Regex Pattern
Следващият метод за преобразуване на низа в масив от низове е чрез използване на регулярни изрази. Можете да посочите шаблон и след това да разделите дадения низ според посочения модел.
Можеш да използваш Клас Regex Pattern принадлежащи към пакета java.util.
Даден по-долу е пример за използване на модели за преобразуване на низ в String Array.
import java.util.Arrays; import java.util.regex.Pattern; public class Main { public static void main(String args[]) { //declare a string String myStr = 'This is Java series tutorial'; System.out.println('The original string:' + myStr + '
'); String[] str_Array = null; //split string on space(' ') Pattern pattern = Pattern.compile(' '); //use pattern split on string to get string array str_Array = pattern.split(myStr ); //print the string array System.out.println('String Array after splitting the string using regex pattern:'); for (int i=0;i Изход:

В горната програма моделът, който сме посочили, е интервал. По този начин низът се разделя на интервали и връща масива от низове. Както вече можете да заключите, използването на регулярни изрази и модели е далеч по-ефективен начин за програмиране.
Преобразуване на масив от низове в списък
Можете също да конвертирате масив от низове в списък. Изброихме няколко метода за това
Използване на персонализиран код
Първият метод е да се използва персонализиран код за преобразуване на масив от низове в списък. При този метод се обхожда масив от низове и всеки елемент се добавя към списъка, използвайки метода за добавяне на списъка.
Следващата програма показва това изпълнение.
import java.util.*; public class Main { public static void main( String[] args ) { //a string array String[] numArray = { 'One', 'Two', 'Three', 'Four', 'Five' }; System.out.println('The string array:' + Arrays.toString(numArray)); //define arraylist with size same as string array Liststr_ArrayList = new ArrayList(numArray.length); //add string array elements to arraylist for (String str:numArray) { str_ArrayList.add(str ); } System.out.println('
Arraylist created from string array:'); //print the arraylist for (String str : str_ArrayList) { System.out.print(str + ' ' ); } } }
Изход:

Както е показано в горната програма, първо се създава списък. След това, използвайки за всеки цикъл, всеки елемент от масива от низове се добавя към списъка. Накрая списъкът се отпечатва.
Използване на метода Collections.addAll ()
Вторият метод за преобразуване на масив от низове в списък е чрез използване на метода ‘addAll’ на рамката Collections. Методът addAll () взема ArrayList и масив от низове като вход и копира съдържанието на масива от низове в ArrayList.
Следващата програма показва използването на метода addAll за преобразуване на масив от низове в списък.
import java.util.*; public class Main { public static void main( String[] args ) { //a string array String[] vehiclesArray = { 'moped', 'car', 'SUV', 'bicycle', 'bus' }; System.out.println('The string array:' + Arrays.toString(vehiclesArray)); //define arraylist with size same as string array List str_ArrayList = new ArrayList(vehiclesArray.length); //add string array elements to arraylist using Collections.addAll method Collections.addAll(str_ArrayList, vehiclesArray ); System.out.println('
Arraylist created from string array:'); //print the arraylist for (String str : str_ArrayList) { System.out.print(str + ' ' ); } } }
Изход:

В горната програма сме преобразували даден масив от низове в списък, използвайки метода Collections.addAll.
Използване на Arrays.asList ()
И накрая, класът Array предоставя метода ‘asList ()’, който директно преобразува дадения низ от масив в списъка.
По-долу е дадена Java програма, която използва asList.
Въпроси и отговори за интервю за първоначално зареждане
import java.util.*; public class Main { public static void main( String[] args ) { //a string array String[] vehiclesArray = { 'moped', 'car', 'SUV', 'bicycle', 'bus' }; System.out.println('The string array:' + Arrays.toString(vehiclesArray)); //Convert array to list using asList method List str_ArrayList = Arrays.asList(vehiclesArray ); System.out.println('
Arraylist created from string array:'); //print the arraylist for (String str : str_ArrayList) { System.out.print(str + ' ' ); } } }
Изход:

Както е показано по-горе, методът asList на клас Arrays преобразува масива в списък и връща този списък.
Преобразуване на списъка в масива от низове
В предишния раздел видяхме няколко метода за преобразуване на масив от низове в списък. Сега нека видим методите за преобразуване на списъка в масив от низове.
Използване на ArraList.get ()
Първият метод е методът get на ArrayList, който връща отделните елементи от списъка. Можете да прекосите ArrayList и да получите метод get, който ще върне елемент, който след това може да бъде присвоен на местоположението на масива.
Следващата програма показва това изпълнение.
import java.util.*; public class Main { public static void main( String[] args ) { //ArrayList initialization ArrayList str_ArrayList= new ArrayList(); //add items to the arraylist str_ArrayList.add('str1'); str_ArrayList.add('str2'); str_ArrayList.add('str3'); str_ArrayList.add('str4'); str_ArrayList.add('str5'); //ArrayList to Array Conversion String str_Array[] = new String[str_ArrayList.size()]; for(int j =0;j Изход:

Горната програма показва преобразуването на ArrayList в низ масив с помощта на метод get.
Използване на метода ArrayList.toArray ()
ArrayList предоставя метод ‘toArray ()’, който връща масивно представяне на ArrayList. По този начин можете да получите низ от масив от низ ArrayList, използвайки този метод.
Проверете следната програма, която използва метода toArray.
import java.util.*; public class Main { public static void main( String[] args ) { //ArrayList initialization ArrayList str_ArrayList= new ArrayList(); //add items to the arraylist str_ArrayList.add('Mumbai'); str_ArrayList.add('Delhi'); str_ArrayList.add('Pune'); str_ArrayList.add('Chennai'); str_ArrayList.add('Kolkata'); //ArrayList to Array Conversion using toArray method String str_Array[]=str_ArrayList.toArray(new String[str_ArrayList.size()]); //print array elements System.out.println('String array obtained from string arraylist:'); for(String ary: str_Array){ System.out.print(ary + ' '); } } }
Изход:

Първо, елементите се добавят към ArrayList и след това с помощта на метода ‘toArray’ списъкът се преобразува в масив от низове.
Преобразуване на масив от низове в масив Int
Понякога може да се наложи да правите операции с числа. В този случай, ако вашият низ масив има числово съдържание, препоръчително е да преобразувате този масив от низове в масив int. За целта трябва да използвате функцията ‘parseInt’ за всеки елемент на масив и да извлечете цялото число.
Следващата програма показва преобразуването на масив от низове в масив int.
import java.util.*; public class Main { public static void main( String[] args ) { //string arrya declaration String [] str_Array = {'10', '20','30', '40','50'}; //print the string array System.out.println('Original String Array:'); for(String val:str_Array) System.out.print(val + ' '); System.out.println('
The integer array obtained from string array:'); //declare an int array int [] int_Array = new int [str_Array.length]; //assign string array values to int array for(int i=0; i Изход:

В горната програма имаме масив от низове, който съдържа числата като низове. В тази програма всеки от елементите на низовия масив се анализира с помощта на функцията ‘parseInt’ и се присвоява на масив от тип int.
Имайте предвид, че това преобразуване ще работи само за масив от низове, съдържащ числови елементи. Ако някой от елементите в масива от низове не е числов, тогава компилаторът изхвърля ‘java.lang.NumberFormatException’.
често задавани въпроси
В # 1) Каква е разликата между масив и низ в Java?
Отговор: Масивът е непрекъсната последователност от елементи. Низът е последователност от символи, прекратени от нулев знак. Низовете са неизменни, т.е. веднъж дефинирани, те не могат да бъдат променени. Всички промени бяха направени в резултатите на низа в нов низ.
Масивите са променливи. Масивите могат да съдържат елементи от различни типове данни, включително низове.
В # 2) Как декларирате масив в Java?
Отговор: Общият начин за деклариране на масив в Java е:
въведете име на масив [];
Или
въведете [] array_name;
Следователно, ако myarray е променлива на масив с елементи от тип int, тогава този масив може да бъде деклариран като:
int myarray [];
Или
int [] myarray;
В # 3) Как да създам масив от низове?
Отговор: Ако strArray е масив от низове, тогава неговата декларация може да бъде:
String [] strArray;
Или
String strArray [];
В # 4) Какво е String [] args?
Отговор: String [] args в Java е масив от низове, които съдържат аргументи от командния ред, които могат да бъдат предадени на Java програма.
В # 5) Могат ли масивите да съдържат низове?
Отговор: Да. Точно както масивите могат да съдържат други типове данни като char, int, float, масивите също могат да съдържат низове. В този случай масивът се превръща в масив от „масив от символи“, тъй като низът може да се разглежда като последователност или масив от символи.
Заключение
В този урок видяхме подробностите за String Array в Java. Преминахме през всички основни концепции, свързани със String Array, включително декларация, дефиниция и инициализация на масив от низове в Java.
Също така обсъдихме няколко операции като търсене, сортиране, присъединяване и т.н. и преобразуване на масив от низове в списък, низ, масив int и т.н. С това завършваме дискусията си за масиви от низове.
В следващите ни уроци ще обсъдим многомерни масиви в Java.
Препоръчително четене
- Урок за дължина на масив Java с примери за кодове
- Java String с урок за String Buffer и String Builder
- Урок за JAVA за начинаещи: 100+ практически ръководства за Java видео
- Как да сортираме масив в Java - Урок с примери
- Обръщане на масив в Java - 3 метода с примери
- Инструкция за C # String - Методи за низове с примери за кодове
- String Array C ++: Внедряване и представяне с примери
- Java 'this' Ключова дума: Урок с примери за кодове