массив символов в Java | Массив символов Java

Опубликовано: 2020-12-01

Оглавление

Введение

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

Массивы символов в java очень полезны и просты в использовании, строки неизменяемы в java, но мы можем манипулировать записями в массиве символов. Массивы символов быстрее по сравнению со списками и наборами и даже проще, чем наборы и списки.

Давайте теперь рассмотрим работу с массивами символов!

Декларация и инициализация

Объявление массива char похоже на объявление обычного массива в java. «char[] имя_массива» или «char имя_массива[]» — это синтаксис, которому следует следовать при объявлении.

После объявления следующее, что нам нужно сделать, это инициализация. «имя_массива = новый символ[длина_массива]» — это синтаксис, которому необходимо следовать. В любом случае мы можем сделать и объявление, и инициализацию в одном, используя синтаксис «char array_name[] = new char[array_length]». Длина массива должна быть объявлена ​​во время инициализации в массиве символов.

открытый класс Тест {

public static void main ( String args[])

{

//объявление-1

символ обр[];

arr = новый символ [ 4 ];

//декларация-2

char arr2[] = новый символ [ 4 ];

//назначение-1

char arr1[] =new char []{ ' a ' , ' b ' , ' c ' , ' d ' };

//назначение-2

обр[ 0 ] = ' а ' ;

обр[ 1 ] = ' б ' ;

обр[ 2 ] = ' с ' ;

обр[ 3 ] = ' д ' ;

Система . вне . println(обр);

Система . вне . println(обр1);

}

}

В приведенном выше фрагменте объявления-1 и объявления-2 являются способами объявления и инициализации. И присваивание-1, и присваивание-2 — это оба способа помещения записей в массив. Помните, что когда мы печатаем массив символов, он печатает все символы, объединенные в строку, в приведенном выше случае вывод будет «abcd».

Узнайте больше: Обработка событий в Java: что это такое и как это работает?

Перебор массива символов

Цикл по массиву символов — забавная задача в java, мы можем использовать обычный цикл «for» или цикл «for: each» для цикла по массиву.

//цикл-1

for ( int i = 0 ;i < arr .length ; i ++ )

Система . вне . печать (обр [я]);

//цикл-2

для ( символ c : обр)

Система . вне . распечатать (с);

В приведенном выше фрагменте цикл 1 является обычным циклом for, а конечным результатом первого цикла будет «abcd». А цикл-2 — это for: каждый цикл и конечный результат цикла-2 будут «abcd».

Длину массива символов можно получить с помощью атрибута length. «Имя_массива.длина» — это синтаксис, которому необходимо следовать.

char array[] =new char []{ ' h ' , ' e ' , ​​' l ' , ' l ' , ' o ' };

Система . вне . println(массив . длина);

Приведенный выше фрагмент выводит 5, как и ожидалось.

Запишитесь на курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Сортировка массива символов

Массивы в java можно сортировать с помощью «Arrays.sort(array_name)». Это отсортирует переданный массив символов лексикографически.

char [] array = { ' h ' , ' e ' , ​​' l ' , ' l ' , ' o ' };

Массивы . сортировать (массив);

Система . вне . println( Массивы . toString(массив)); //линия 1

Система . вне . распечатать(массив); //строка2

Обратите внимание, что нам нужно импортировать java.util.Arrays, чтобы заставить Arrays.sort() и Arrays.toString() работать.

В приведенном выше фрагменте массив символов сортируется лексикографически, и печать массива печатает символы, объединенные в строку. Вывод «line2» будет «ehllo», если вы не выводите в виде объединенной строки, вместо этого вы хотите напечатать весь массив с квадратными скобками на концах, тогда Arrays.toString() выполнит эту работу. Выход «line1» будет [e, h, l, l, o].

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

В любом случае мы инициализируем массив символов длиной строки, циклически перебираем строку и добавляем каждый символ в массив, который выполнит эту работу.

Строка s = « привет » ;

char [] arr = новый char [s . длина()];

for ( int i = 0 ;i < s .length ();i ++ )

обр[я] = с . символ (я);

Система . вне . println( Массивы . toString(arr));

Вышеприведенный фрагмент будет печатать [h, e, l, l, o], как и ожидалось.

В приведенном выше фрагменте показано искусство преобразования строки в массив символов, но нужно ли нам писать этот длинный код каждый раз, когда мы хотим преобразовать строку в массив символов? Что ж, ответ будет НЕТ.

В Java есть красивый метод toCharArray(), который применяется к строке и возвращает массив символов.

Строка s = « aejou » ;

char [] обр = s . toCharArray();

Система . вне . println( Массивы . toString(arr)); //линия 1

обр[ 2 ] = ' я ' ;

Система . вне . println( Массивы . toString(arr)); //строка2

Как и ожидалось, «line1» выводит [a, e, j, o, u] в качестве вывода. И, как уже говорилось, в отличие от строки, мы можем редактировать или манипулировать элементами массива символов. Таким образом, вывод строки2 будет [a, e, i, o, u].

Теперь, когда мы увидели метод преобразования строки в массив символов в java, что, если нам нужна обратная задача?

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

char [] arr = { ' h ' , ' e ' , ​​' y ' , ' ' , ' t ' , ' h ' , ' e ' , ​​' r ' , ' e ' };

Строка s1 = новая строка (обр); //метод1

Система . вне . распечатать(s1);

Строка s2 = Строка . значение(обр); //метод2

Система . вне . распечатать(s2);

В приведенном выше фрагменте мы видим оба метода преобразования массива символов в строку. Вывод приведенного выше фрагмента будет «привет», как и ожидалось.

Читайте также: 17 интересных идей и тем для Java-проектов для начинающих

Заключение

Мы узнали, что такое массивы символов, изучили различные способы инициализации и объявления массивов символов. Прошелся по фрагменту для цикла по массиву символов. Сортировка массива символов с использованием предопределенного метода Arrays.sort().

И наблюдал наивную и предопределенную реализацию преобразования строки в массив символов, а также наблюдал обратную реализацию с использованием различных методов. Теперь, когда вы хорошо разбираетесь в концепциях массивов символов, приступайте к их реализации!

Если вам интересно узнать больше о Java, ООП и разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B по разработке программного обеспечения с полным стеком, которая предназначена для работающих профессионалов и предлагает более 500 часов интенсивного обучения. Более 9 проектов и заданий, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Подготовьтесь к карьере будущего

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