Java new string массив

String Array in Java

In this guide, you will learn about string array in java, how to use them and various operations that you can perform on string array in java.

String array is a collection of strings, stored in contiguous memory locations.

For example: The following string array contains four elements. These elements are stored in contiguous memory locations and can be accessed using array index such as: names[0] represents first element «Chaitanya» . Similarly names[1] represents second element «Ajeet» , names[2] represents third element «Hari ” and so on.

String Array Declaration

There are two ways to declare a String array in Java.

1. Without specifying the array size:

2. Array size is specified: The following array can hold upto 5 strings.

String[] strArray = new String[5];

String Array Initialization

1. Inline Initialization:

String[] names = new String[] ; OR String[] names = ;

2. Normal Initialization after declaration:
Here, we have declared an array names with the fixed size of 4 and initialized the array later.

String[] names= new String[4]; names[0]= "Chaitanya"; //first element names[1]= "Ajeet"; //second element names[2]= "Hari"; //third element names[3]= "Rahul"; //last element

Simple String Array Example in Java

In this example, we have a string array fruits . This array contains three elements (strings). We are displaying the elements of string array using for loop. The length property of array ( fruits.length ) returns the number of elements in an array, in this case its 3.

public class JavaExample < public static void main(String a[])< //declared and initialized a string array String[] fruits = new String[]; for (int i=0; i > >

Java String Array

String array ArrayIndexOutOfBoundsException

If the specified index is beyond the size of the array then the compiler throws ArrayIndexOutOfBoundsException .

public class JavaExample < public static void main(String a[])< //declared and initialized a string array String[] fruits = new String[]; //We are trying to print 11th element of the array //but the array contains only 3 elements. This will //throw ArrayIndexOutOfBoundsException System.out.println(fruits[10]); > >

Java string array exception

Iterating a String Array

Let’s see how to iterate a string array. We can iterate using normal for loop or enhanced for loop (for each loop).

public class JavaExample < public static void main(String a[])< //declared and initialized a string array String[] fruits = new String[]; //iterating using normal for loop System.out.println("Iterating using for loop:"); for (int i=0; i //iterating using for-each loop System.out.print("Iterating using foreach loop: "); for (String str: fruits) < System.out.print(str+ " "); >> >

Iterating String array in Java

Adding elements to String array

You already learned that the size of the array is fixed, which means if it is full, you cannot add any more elements to it. However there are two ways, you can add elements to an array. Technically it’s not adding the elements to the existing array, rather a new array with all the elements of previous array along with the new elements.
1. Creating a new array
2. Using ArrayList

1. Adding elements to an array by creating new array

Steps followed in this program are:
1. Create a new array with the larger size to accommodate new elements.
2. Copy all elements from old array to new array.
3. Add new elements to new array.
4. Print new array

public class JavaExample < public static void main(String a[])< //declared and initialized a string array String[] fruits = new String[]; //we want to add two more elements to the fruits array so let's //create a new array with the size of 5 String[] newFruits = new String[fruits.length+2]; //copying elements from old array to new array for (int i=0; i //Adding new elements newFruits[newFruits.length-2]= "Mango"; //second last element newFruits[newFruits.length-1]= "Kiwi"; //last element //print new array for (String str: newFruits) < System.out.println(str); >> >
Apple Orange Banana Mango Kiwi

2. Adding elements to an array using ArrayList

Steps followed in this program are:
1. Convert array to ArrayList.
2. Add as many elements as you like in ArrayList as ArrayList is dynamic and can grow and shrink automatically.
3. Once addition is done, convert back the ArrayList to an Array.
4. Print the array.

import java.util.*; public class JavaExample < public static void main(String a[])< //declared and initialized a string array String[] fruits = new String[]; //Convert the array "fruits" to an ArrayList ArrayList fruitList = new ArrayList(Arrays.asList(fruits)); //Adding elements to ArrayList fruitList.add("Mango"); fruitList.add("Kiwi"); //Convert the ArrayList to array String[] newFruits = fruitList.toArray(new String[fruitList.size()]); //print new array for (String str: newFruits) < System.out.println(str); >> >
Apple Orange Banana Mango Kiwi

Sorting string array

Here, we are demonstrating how to sort a string array. It is simple, just import java.util.Arrays package to use the sort() method of Arrays class. The array passed in the sort() method is sorted in ascending order.

import java.util.Arrays; public class JavaExample < public static void main(String a[])< String[] names = new String[]; //print array before sorting System.out.println("Array before sorting: "); for (String str: names) < System.out.print(str+ " "); >//sorting array Arrays.sort(names); //new line System.out.println(); //print array after sorting System.out.println("Array after sorting: "); for (String str: names) < System.out.print(str+ " "); >> >

Sorting String Array

Search an element in a String array

Here, we are searching an element in string array. We are iterating the whole array and matching every element with the searchItem , if a match is found, we are storing the index and setting the foundFlag to true . If the whole array is traversed and no match is found then the if-else statement after for loop, prints the message that “String is not found”.

public class JavaExample < public static void main(String a[])< String[] names = new String[]; //this will represent the index of search element when it is found int index=0; //This will set to true, if element is found in array, else it //will remain false. boolean foundFlag = false; //This is the search element, we are searching for this element in array String searchItem ="Rob"; for (int i = 0; i < names.length; i++) < if(searchItem.equals(names[i])) < //if element found, get index, set flag to true and break the loop index = i; foundFlag = true; break; >> if(foundFlag) System.out.println("String "+searchItem +" is found at index: "+index); else System.out.println("String "+searchItem +" is not found"); > >
String Rob is found at index: 2

About the Author

I have 15 years of experience in the IT industry, working with renowned multinational corporations. Additionally, I have dedicated over a decade to teaching, allowing me to refine my skills in delivering information in a simple and easily understandable manner.

Источник

Java. Массивы строк. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач

Массивы строк в Java. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач

Поиск на других ресурсах:

1. Понятие массива строк. Общая форма объявления одномерного массива строк

Как и любой язык программирования, язык программирования Java может реализовывать массивы строк. Любая строка в Java имеет тип String . Одномерный массив строк имеет тип String[] . Двумерный массив строк имеет тип String[][] .

Общая форма объявления и выделение памяти для одномерного массива строк

String[] arrayName = new String[size];
  • String – встроенный в Java класс, который реализует строку символов. Объект типа String поддерживает большой набор операций, которые можно просмотреть здесьи здесь ;
  • arrayName – имя объекта (экземпляра) типа String . Фактически, arrayName есть ссылкой на объект типа String ;
  • size – размер массива (количество строк, количество элементов типа String ).

Объявление одномерного массива строк и выделение памяти для него можно реализовать и по другому

String[] arrayName;
arrayName = new String[size];
2. Каким образом объявляется одномерный массив строк? Пример

Ниже приведен пример объявления и использования одномерного массива строк.

// объявление одномерного массива строк
String[] array = new String[5];

// заполнение начальными значениями
array[0] = "abcd";
array[1] = "Hello";
array[2] = ""; // пустая строка
array[3] = "bestprog";
array[4] = ";:\\+ color: #008000;">// комбинация "\\" заменяется на "\"

// использование в выражениях
arrayS[4] = arrayS[1] + " " + arrayS[3]; // arrayS[4] = "Hello bestprog"
arrayS[4] += ".net"; // arrayS[4] = "Hello bestprog.net"

Как видно из примера, работа с массивами строк в Java есть довольно удобной и не требует сложных дополнительных преобразований на их обработку.

3. Двумерный массив строк. Общая форма

Возможно, в некоторых задачах возникнет потребность в объявлении двумерного массива строк.

Общая форма объявления двумерного массива строк следующая:

String[][] matrName = new String[n][m];
  • matrName – имя объекта (ссылка на объект), который есть двумерным массивом типа String ;
  • n – количество строк в массиве matrName ;
  • m – количество столбцов в массиве matrName .

Возможен также другой способ объявления и выделения памяти для двумерного массива строк:

String[][] matrName; // объявление ссылки на двумерный массив строк
matrName = new String[n][m];
4. Пример объявления и использования двумерного массива строк

Ниже приведен пример объявления и использования двумерного массива строк

// объявление двумерного массива строк
String[][] matr = new String[2][3];
// заполнение массива значениями
for (int i=0; ilength; i++)
for (int j=0; jlength; j++)
matrS[i][j] = "matrS[" + i + "][" + j + "]";
// проверка
String s;
s = matrS[0][0]; // s = "matrS[0][0]"
s = matrS[1][1]; // s = "matrS[1][1]"
5. Как определяется длина массива строк? Свойство length . Пример

Чтобы определить количество строк в массиве используется свойство length .

Для одномерных массивов количество строк n определяется следующим образом:

String[] arrayS = new String[25];
int n;
n = array.length;

Для двумерных массивов количество строк и столбцов определяется следующим образом

// matr - двумерный массив строк
String[][] matrS = new String[2][3];

int
n, m;
n = matr.length; // n = 2 - количество строк
m = matr[0].length; // m = 3 - количество столбцов
m = matr[1].length; // m = 3
6. Как осуществляется инициализация одномерного массива? Пример

Инициализация одномерного массива строк точно такая же как инициализация одномерого массива любого другого типа.

// инициализация одномерного массива строк
String[] M = "Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
>;
String s;

s = M[2]; // s = "Tuesday"
s = M[4]; // s = "Thursday"
7. Поиск заданной строки в одномерном массиве строк. Пример
// поиск заданной строки в массиве строк
// объявление массива строк
String M[] = new String[5];
String s = "May"; // строка, которую нужно найти
boolean f_is;

// заполнение массива значениями
M[0] = "January";
M[1] = "February";
M[2] = "May";
M[3] = "October";
M[4] = "December";

// поиск строки
f_is = false;
for (int i=0; ilength; i++)
if (M[i]==s) f_is = true;
break;
>

// вывод результата
if (f_is)
System.out.println("Искомая строка есть в массиве.");
else
System.out.println("Искомой строки нет в массиве.");
8. Сортировка одномерного массива строк по алфавиту методом вставки. Пример

Для сравнения двух строк в лексикографическом порядке в классе String разработан метод compareTo() . Общая форма метода следующая:

int compareTo(вторая_строка)

Фрагмент, который демонстрирует сортировку массива строк методом вставки:

// сортировка массива строк методом вставки
String[] M = "abc",
"bde",
"fgh",
"abcd",
"bcdef",
"cdef",
"fghij",
"aaa"
>;
String s;

// сортировка
for (int i=0; ilength-1; i++)
for (int j=i; j>=0; j--)
if (M[j].compareTo(M[j+1])>0) // обменять M[j] и M[j+1] местами
s = M[j];
M[j] = M[j+1];
M[j+1] = s;
>

// вывод результата
for (int i=0; ilength; i++)
System.out.println(M[i]);

В результате выполнения вышеприведенного кода, на экран будет выведено следующее

aaa
abc
abcd
bcdef
bde
cdef
fgh
fghij
9. Как осуществляется инициализация двумерного массива строк? Пример

Инициализация двумерного массива строк ничем не отличается от инициализации двумерного массива любого примитивного типа. Элементами массива есть обычные строки.

Ниже приведен пример инициализации двумерного массива строк с именем M

// объявление массива M с начальной инициализацией
String M[][] = new < "a1", "a2", "a3" >,
< "b1", "b2", "b3" >,
< "a1", "c2", "a1" >
>;

// проверка
String s;
s = M[0][1]; // s = "a2"
s = M[1][0]; // s = "b1"
10. Пример подсчета количества вхождений заданной строки в двумерном массиве строк
// вычисление количества вхождений заданной строки в двумерном массиве
// объявление массива M с начальной инициализацией
String M[][] = < "abcd", "abc", "bcd" >,
< "acd", "bcd", "abcd" >,
< "abc", "bc", "cde" >
>;

String s = "abc"; // строка, количество вхождений которой нужно вычислить
int k = 0; // количество вхождений, результат
for (int i=0; ilength; i++)
for (int j=0; jlength; j++)
if (M[i][j]==s)
k++;
// k = 2
11. Пример замены строки в двумерном массиве строк
  • двумерный массив строк с именем matr ;
  • строка s1 , которая ищется для замены;
  • строка s2 , которая заменяет строку s1 .

Разработать программу, которая заменяет строку s1 в матрице matr новой строкой s2 . Фрагмент кода, который решает данную задачу:

// объявление двумерного массива строк
String[][] matr = new String[2][3];

// заполнение матрицы matr произвольными значениями
matrS[0][0] = "abc";
matrS[0][1] = "cba";
matrS[0][2] = "def";
matrS[1][0] = "abc";
matrS[1][1] = "fff";
matrS[1][2] = "qqq";

// заполнение значениями строк s1 и s2
String s1 = "abc"; // заменяемая строка
String s2 = "mmm"; // заменяющая строка

// цикл вычисления
for (int i=0; ilength; i++)
for (int j=0; jlength; j++)
if (matrS[i][j]==s1)
matr[i][j] = s2;

// вывод результата
for (int i=0; ilength; i++) for (int j=0; jlength; j++)
System.out.print(matrS[i][j] + " ");
System.out.println();
>

В результате выполнения вышеприведенного кода, на экран будет выведен следующий результат:

Связанные темы

Источник

Читайте также:  Псевдоклассы
Оцените статью