Избранное сообщение

Фетісов В. С. Комп’ютерні технології в тестуванні. Навчально-методичний посібник. 2-ге видання, перероблене та доповнене / Мои публикации

В 10-х годах я принимал участие в программе Европейского Союза Tempus "Освітні вимірювання, адаптовані до стандартів ЄС". В рамк...

Благодаря Интернету количество писателей и поэтов увеличивается в геометрической прогрессии. Поголовье читателей начинает заметно отставать.

четверг, 29 сентября 2016 г.

Популярные методы для работы с Java массивами / Программирование на Java

В этой статье мы сделали подборку наиболее используемых методов для работы смассивами в Java. Разберем на примерах стандартные Java возможности и посмотрим в сторону библиотеки Apache Commons Lang.

Печать элементов массива

int[] simpleIntArray = { 2, 5, 3, 1, 4 };
String arrayString = Arrays.toString(intArray);
// если явно указать simpleIntArray, то получим распечатанную ссылку
System.out.println(simpleIntArray );
// [I@3250ac3b

// указываем преобразованный в строку массив и получаем желаемый результат
System.out.println(arrayString);
// [2, 5, 3, 1, 4]

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

Используем метод Arrays.sort() и свою реализацию пузырьковой сортировки массива.

Создание ArrayList из массива

Простой способ создания коллекции ArrayList из массива может содержать подводные камни. Подробнее о возможных проблемах читайте здесь.
String[] simpleStringArray = { "a", "d", "c" };
ArrayList<String> arrayList = new ArrayList<String>(
                      Arrays.asList(simpleStringArray));
System.out.println(arrayList);
// [a, d, c]
Другой пример использования смотрите по ссылке.

Создание массива из ArrayList

Ниже представлен простой пример «на коленке», а по ссылке есть с объяснением.
String[] simpleStringArray = { "a", "c", "e" };
ArrayList<String> newArrayList = new ArrayList<String>(
                          Arrays.asList(simpleStringArray));
String[] arrayOfStrings = new String[newArrayList.size()];
newArrayList.toArray(arrayOfStrings);
for (String element : arrayOfStrings) {
System.out.println(element);
}

Содержит ли массив указанный элемент

Используем прием с представлением массива в виде коллекции и вызовом привычного метода contains():
String[] simpleStringArray = { "a", "c", "e" };
boolean contains = Arrays.asList(simpleStringArray).contains("e");
// напечатает true
System.out.println(contains);

Копирование массива в Java

Используем методы копирования массива Arrays.copyOf(),Arrays.copyOfRange()System.arraycopy() и даже Object.clone(). Вот ещепримерчик.

Преобразование массива в Set

Set<String> simpleSet = new HashSet<String>(Arrays.asList(stringArray));
// получим в консоль вывод [c, b, a, d, e]
System.out.println(simpleSet);
Подробнее познакомиться с коллекцией Set можно здесь, а узнать разницу междуSet и Set<?> тут.

Преобразование int в массив byte

// создаем новый буфер байтов указанного размера
byte[] mByteArray = ByteBuffer.allocate(4).putInt(8).array();
for (byte t : mByteArray ) {
   System.out.format("0x%x ", t);
}

Используем библиотеку Apache Commons Lang

Библиотека Apache Commons Lang представляет собой набор служебных классов для упрощения работы с классами пакета java.lang.*. В нашем случае, мы воспользуемся доступными методами для работы с массивами.
Подключить эту библиотеку к своему приложению Вы можете с помощью зависимости для maven проектов:
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.4</version>
</dependency>
Или же другим подходящим для Вас способом (смотрите по ссылке в коде выше).

Объединение (конкатенация) массива

int[] firstArray = { 1, 3, 5, 2 };
int[] secondArray = { 6, 8, 7 };
// используем специальный метод addAll() служебного класса ArrayUtils
int[] newArray = ArrayUtils.addAll(firstArray, secondArray);

Получение обратного массива

int[] simpleIntArray = { 2, 4, 6, 8, 10 };
ArrayUtils.reverse(simpleIntArray);
// Получим на консоль [10, 8, 6, 4, 2]
System.out.println(Arrays.toString(simpleIntArray));

Удаление элемента массива

int[] simpleIntArray = { 1, 2, 3, 4, 5 };
// создадим новый массив
int[] newArray = ArrayUtils.removeElement(simpleIntArray , 3);
System.out.println(Arrays.toString(newArray));
Нам этом моя подборка методов для работы с массивами в Java заканчивается. Если эта статья была Вам полезна и узнали что-то новое, то подписывайтесь на новые статьи по Java и Android!

Смотри также:

Комментариев нет:

Отправить комментарий