Java. Массивы строк. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач
Массивы строк в Java. Одномерные и двумерные массивы строк. Инициализация массивов строк. Примеры решения задач
Содержание
- 1. Понятие массива строк. Общая форма объявления одномерного массива строк
- 2. Каким образом объявляется одномерный массив строк? Пример
- 3. Двумерный массив строк. Общая форма
- 4. Пример объявления и использования двумерного массива строк
- 5. Как определяется длина массива строк? Свойство length. Пример
- 6. Как осуществляется инициализация одномерного массива? Пример
- 7. Поиск заданной строки в одномерном массиве строк. Пример
- 8. Сортировка одномерного массива строк по алфавиту методом вставки. Пример
- 9. Как осуществляется инициализация двумерного массива строк? Пример
- 10. Пример подсчета количества вхождений заданной строки в двумерном массиве строк
- 11. Пример замены строки в двумерном массиве строк
Поиск на других ресурсах:
1. Понятие массива строк. Общая форма объявления одномерного массива строк
Как и любой язык программирования, язык программирования Java может реализовывать массивы строк. Любая строка в Java имеет тип String . Одномерный массив строк имеет тип String[] . Двумерный массив строк имеет тип String[][] .
Общая форма объявления и выделение памяти для одномерного массива строк
- String – встроенный в Java класс, который реализует строку символов. Объект типа String поддерживает большой набор операций, которые можно просмотреть здесьи здесь ;
- arrayName – имя объекта (экземпляра) типа String . Фактически, arrayName есть ссылкой на объект типа String ;
- size – размер массива (количество строк, количество элементов типа String ).
Объявление одномерного массива строк и выделение памяти для него можно реализовать и по другому
2. Каким образом объявляется одномерный массив строк? Пример
Ниже приведен пример объявления и использования одномерного массива строк.
Как видно из примера, работа с массивами строк в Java есть довольно удобной и не требует сложных дополнительных преобразований на их обработку.
3. Двумерный массив строк. Общая форма
Возможно, в некоторых задачах возникнет потребность в объявлении двумерного массива строк.
Общая форма объявления двумерного массива строк следующая:
- matrName – имя объекта (ссылка на объект), который есть двумерным массивом типа String ;
- n – количество строк в массиве matrName ;
- m – количество столбцов в массиве matrName .
Возможен также другой способ объявления и выделения памяти для двумерного массива строк:
4. Пример объявления и использования двумерного массива строк
Ниже приведен пример объявления и использования двумерного массива строк
5. Как определяется длина массива строк? Свойство length . Пример
Чтобы определить количество строк в массиве используется свойство length .
Для одномерных массивов количество строк n определяется следующим образом:
Для двумерных массивов количество строк и столбцов определяется следующим образом
6. Как осуществляется инициализация одномерного массива? Пример
Инициализация одномерного массива строк точно такая же как инициализация одномерого массива любого другого типа.
7. Поиск заданной строки в одномерном массиве строк. Пример
8. Сортировка одномерного массива строк по алфавиту методом вставки. Пример
Для сравнения двух строк в лексикографическом порядке в классе String разработан метод compareTo() . Общая форма метода следующая:
- <0 , если вторая строка следует после первой строки в лексикографическом порядке;
- =0 , если строки одинаковы;
- >0 , если вторая строка следует перед первой в лексикографическом порядке.
Фрагмент, который демонстрирует сортировку массива строк методом вставки:
В результате выполнения вышеприведенного кода, на экран будет выведено следующее
9. Как осуществляется инициализация двумерного массива строк? Пример
Инициализация двумерного массива строк ничем не отличается от инициализации двумерного массива любого примитивного типа. Элементами массива есть обычные строки.
Ниже приведен пример инициализации двумерного массива строк с именем M
10. Пример подсчета количества вхождений заданной строки в двумерном массиве строк
11. Пример замены строки в двумерном массиве строк
- двумерный массив строк с именем matr ;
- строка s1 , которая ищется для замены;
- строка s2 , которая заменяет строку s1 .
Разработать программу, которая заменяет строку s1 в матрице matr новой строкой s2 . Фрагмент кода, который решает данную задачу:
В результате выполнения вышеприведенного кода, на экран будет выведен следующий результат:
Как заполнить массив элементами с клавиатуры?
Я знаю, как найти максимальное значение в массиве со случайными числами, но как запихнуть в массив элементы с клавиатуры (как в задаче), если они написаны в строку через пробел? И как потом работать с ними?
![]()
Отвечу на вопрос «Как заполнить массив элементами, введёнными с клавиатуры». Для этого нам понадобится Scanner .
А дальше работайте с массивом так же, как работали раньше с массивом, заполненным случайными числами.
Массивы в Java: создаём, заполняем, применяем
Учимся работать с массивами в Java. Всё разбираем на примерах.



Массив в Java (Java Array) — это структура данных, которая хранит набор пронумерованных значений одного типа (элементы массива).
Допустим, у нас есть класс из десяти учеников и нам нужно сохранить их оценки. Для этого можно создать десять переменных:
А если в нашем классе будет не десяток учеников, а в десять раз больше, не заводить же нам 100 переменных! На выручку приходят массивы.
Как создать одномерный массив
В Java массив объявляется с помощью квадратных скобок и специального слова new.
Такой вот синтаксис пришёл из языка C:
Но в Java предпочтительнее делать так:
Тип массива может быть любым (int, Integer, String, Date, byte, char, Long и так далее).
Инициализация массива по умолчанию
Объявим массив типа int из 10 элементов:
При подобной инициализации все элементы массива будут иметь значение по умолчанию. Для int это 0; для float и double — 0.0; для char — \0; для boolean — false, а для String и любого другого класса это null.
В Java размер массива (длина, протяжённость) определяется при объявлении, а изменить его можно только пересоздав массив.
Доступ к элементам массива
Начнём с одномерного массива. Каждый элемент в нём хранится под своим индексом.
Важно помнить, что в Java нумерация элементов массива начинается с 0. Поэтому индекс первого элемента равен 0, а у последнего определяется размером массива минус один.
Для доступа к элементу массива указывают имя массива и номер ячейки в квадратных скобках. Например, обратимся к первому элементу массива и выведем его значение:
В консоли мы получим число 0. Почему ноль — читайте выше, в пункте про инициализацию по умолчанию.
Заполним элементы массива. Для этого обратимся к каждому по индексу и присвоим значения с помощью оператора «=»:
Инициализация массива на этапе объявления
Теперь у нас есть массив, куда мы записали оценки десяти учеников. С этим уже удобнее работать, чем объявлять 10 переменных, но можно записать ещё короче:
Мы опустили размер массива, поставили фигурные скобки после квадратных и перечислили все значения через запятую. Размер массива теперь определяется числом элементов в фигурных скобках (в нашем случае их тоже 10).
Но нет предела совершенству:
После знака «=» остались только фигурные скобки с перечислением значений через запятую.
Обход одномерного массива
У массива в Java есть специальное поле length. Значение в нём нельзя изменить. Оно возвращает число элементов массива:
А раз мы знаем длину массива и что все его ячейки упорядочены, то остаётся обратиться к ним по очереди — в цикле:
С помощью счётчика в цикле for мы получаем индекс каждого элемента.
Напомним! Счётчик должен стартовать с 0, так как нумерация в массиве тоже начинается с 0.
И цикл будет продолжаться «пока счётчик меньше размера массива», а раз индекс последнего элемента на один меньше их количества, то выхода за границы массива в нашем цикле не произойдёт.
Массив можно обойти и в цикле foreach (подробнее о циклах):
И в обратном порядке:
Здесь счётчик стартует со значения на один меньше размера массива, и цикл продолжается «пока счётчик не меньше 0».
Можем пройтись и только по элементам с чётными индексами:
А вот как заполнить массив случайными значениями:
N-мерные массивы
Размерность массива определяется тем, сколько индексов нужно, чтобы однозначно указать на элемент в массиве.
Массивы бывают одномерными (векторы), двумерными (матрицы), трёхмерными и так далее. То есть можно создавать не просто массивы, но и массивы массивов, а также массивы массивов массивов и так далее.
Рассмотрим вариант с двумерным массивом. Остальные многомерные массивы создаются похоже.
Объявление двумерного массива
Чтобы создать двумерный массив в Java, укажем его размеры в квадратных скобках:
Доступ к элементу подобного массива выглядит так:
Мы присвоили значение 2 элементу с индексами [0,1].
Для простоты представим двумерный массив в виде таблицы. Вот как выглядит наш массив (столбцы — это первый индекс в квадратных скобках, а строки — второй):
| [0,0] = 0 | [1,0] = 0 | [2,0] = 0 |
|---|---|---|
| [0,1] = 2 | [1,1] = 0 | [2,1] = 0 |
| [0,2] = 0 | [1,2] = 0 | [2,2] = 0 |
| [0,3] = 0 | [1,3] = 0 | [2,3] = 0 |
Несложно представить двумерный массив таблицей, а трёхмерный — кубом, но вот с массивами большей размерности так уже не получится.
Массивы внутри массива в Java могут быть разной длины. Зададим двумерный массив, где размер третьего массива (по индексу второго) равен двум элементам, а размер всех остальных — трём:
Как помним, размер массива нам не изменить, но мы можем присвоить новый массив элементу с нужным индексом.
Если мы объявляем двумерный массив так:
то размер каждого вложенного массива будет равен четырём элементам.
А теперь заменим массив под индексом 1 (длиной в четыре элемента) массивом из двух элементов:
Как видно из примера, мы можем обращаться к внутренним массивам нашего двумерного массива, а не только к значениям в этих массивах.
Проверим, что размер массива под индексом 1 теперь равен двум элементам. Для этого используем цикл с выводом в консоль:
Java String Array
Few points to note about the above ways of string array declaration:
- When string array is declared without size, its value is null.
- When we declare a string array with size, the array is also initialized with null values.
- We can also declare a string array as String strArray3[] but the above approach is recommended because it’s following convention and follows the best practice.

Java String Array Declaration
How to Initialize String Array in Java?
There are two ways to initialize a string array.
- Declaration and Initialization at the same time. It’s also called inline initialization.
- Declaring the string array and then populate the values one by one.
How to check if two String Arrays are Equal?
We use equals() method to check if two objects are equal or not. Let’s see what happens with the equals() method when we have two string arrays with the same content.
The reason for the output “false” is that string array is an object. And Object class implements equals() method like this:
Since both the arrays are referring to different objects, the output is false.
So, how to compare two string arrays for equality?
- We can use Arrays.toString() method to convert string array to string. Then use the equals() method to check equality. This method will make sure that both the arrays have same strings at the same positions.
Iterating over Java String Array
We can iterate over the elements of string array using two ways.
- Using for loop
- Using Java 8 for each loop
How to search a String in the String Array?
We can use for loop to search for a string in the string array. Here is a simple program to find the indexes of the string in a string array.

Search String in a String Array
Java String Array Length
We can use length attribute of the array to find the length of the string array.

Java String Array Length
Java String Array to String
We can convert string array to string using Arrays.toString() method.

Java String Array to String
Did you thought what happens when we try to print the string array directly?
Let’s see with a simple example.
The reason for the output is that the Object class toString() method is used to get the string representation of the array. The implementation is like this:
Now it’s clear why the output is of no use to us. Always use Arrays.toString() method to convert an array to its string representation.
Java String Array to List
We can use Arrays.asList() method to convert string array to the list of string.

Java String Array to List
Sorting a String Array
We can use Arrays.sort() or Arrays.parallelSort() method to sort a string array.
The strings are sorted in their natural order i.e. lexicographically. We can pass a Comparator to define our own sorting logic. Here is a simple example to sort the string array in reverse order.

Sorting String Array in Java
Converting String to String Array
We can use the String class split() method to convert a string into a string array. One of the popular use cases is to convert a CSV string to the string array.