Creating an array in java of strings

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 есть довольно удобной и не требует сложных дополнительных преобразований на их обработку.

Читайте также:  Python получить класс экземпляра
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();
>

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

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

Источник

Java String Array

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.

Источник

Оцените статью