Arraylist string methods java

Списочный массив ArrayList

В Java массивы имеют фиксированную длину и не могут быть увеличены или уменьшены. Класс ArrayList реализует интерфейс List и может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта. Элементы ArrayList могут быть абсолютно любых типов в том числе и null.

Пример создания объекта ArrayList

ArrayList list = new ArrayList ();

Можно инициализировать массив на этапе определения. Созданный объект list содержит свойство size. Обращение к элементам массива осуществляется с помощью метода get(). Пример :

ArrayList list; list = Arrays.asList(new String[] ); System.out.println ("Размер массива равен '" + Integer.valueOf (list.size()) + "' элементам");

Добавление элемента в массив ArrayList, метод add

Работать с ArrayList просто: необходимо создать объект и вставлять созданные объекты методом add(). Обращение к элементам массива осуществляется с помощью метода get(). Пример:

ArrayList list; list = new ArrayList 

Замена элемента массива ArrayList, метод set

Чтобы заменить элемент в массиве, нужно использовать метод set() с указанием индекса и новым значением.

list.add("Яблоко"); list.add("Груша"); list.add("Слива"); list.set(1, "Персик"); System.out.println ( "2-ой элемент массива '" + list.get(1) + "'");

Удаление элемента массива ArrayList, метод remove

Для удаления элемента из массива используется метод remove(). Можно удалять по индексу или по объекту:

list.remove(0); // удаляем по индексу list.remove("Слива"); // удаляем по объекту

ПРИМЕЧАНИЕ: элементы, следующие после удалённого элемента, перемещаются на одну позицию ближе к началу. То же самое относится и к операции вставки элемента в середину списка.

Для очистки всего массива используется метод clear():

Определение позиции элемента ArrayList, метод indexOf

В списочном массиве ArrayList существует метод indexOf(), который ищет нужный элемент и возвращает его индекс.

int index = list.indexOf("Слива"); // выводим имя элемента и его номер в массиве System.out.println (list.get(index) + " числится под номером " + index);

Отсчёт в массиве начинается с 0, если индекс равен 2, значит он является третьим в массиве.

Проверка наличие элемента в ArrayList, метод contains

Чтобы узнать, есть в массиве какой-либо элемент, можно воспользоваться методом contains(), который вернёт логическое значение true или false в зависимости от присутствия элемента в наборе :

System.out.println (list.contains("Картошка") + "");

Понятно, что в массиве никаких овощей быть не может, поэтому в консоле будет отображено false.

Создание массива из элементов ArrayList, метод toArray

Для конвертирования набора элементов в обычный массив необходимо использовать метод toArray().

ArrayList myArrayList = new ArrayList(); myArrayList.add("Россия"); myArrayList.add("Польша"); myArrayList.add("Греция"); myArrayList.add("Чехия"); String[] array = <>; // конвертируем ArrayList в массив array = myArrayList.toArray(new String[myArrayList.size()]);

Интерфейс List

java.util.List является интерфейсом и его следует использовать вместо ArrayList следующим образом :

Или укороченный вариант для Java 7:

В примере тип ArrayList заменен на List, но в объявлении оставлен new ArrayList(). Всё остальное остаётся без изменений. Это является рекомендуемым способом.

Интерфейс List реализует более общий интерфейс коллекции Collection.

Преобразование массива в список, Arrays

Для создания массива можно не только добавлять по одному объекту через метод add(), но и сразу массив с использованием Arrays.asList(. ).

Пример создания и инициализации массива из объектов Integer.

List numlist = Arrays.asList(1, 2, 5, 9, 11); System.out.println (numlist.get(2) + ""); // выводит число 5

У данного способа есть недостаток. Если вы определили списочный массив таким образом, то уже не можете вставлять или удалять элемент, хотя при этом можете изменять существующий элемент.

List numlist = Arrays.asList(1, 2, 5, 9, 11); numlist.set(2, 33); // так можно numlist.add(34); // нельзя, ошибка во время исполнения System.out.println (numlist.get(2) + "");

Источник

Arraylist string methods java

2. ArrayList(int initialCapacity) – объявление списка с указанием размера преимущественно для случаев, когда будет использоваться большое количество данных и в целях оптимизации следует задавать уже большой размер. Например, используется в случаях, когда список увеличивается с каждым вызовом метода в классе. Размер списка растет с нелинейной скоростью и, если заранее известно, что список будет увеличиваться и будет достигать больших размеров (больше 1e3 элементов), оптимально будет задать изначальный размер и резервировать количество мест заранее.

ArrayList employee = new ArrayList<>(100); 

3. ArrayList(Collection c) – объявления списка с уже имеющимся списком, элементы которого были переданы конструктору.

ArrayList cars = new ArrayList<>(Arrays.asList("BMW", "AUDI")); 

🧩☕ Интересные задачи по Java для практики можно найти на нашем телеграм-канале «Библиотека задач по Java»

Добавление элементов

Для того чтобы добавить элемент в список, используется простая функция add . Для этого метода есть разновидности:

1. add(E e) – добавление элемента в конец списка. Это функция является возвращаемой. Если элемент был добавлен в список, то ответ – true , иначе – false .

ArrayList fruits = new ArrayList<>(); // ArrayList() создание списка fruits.add("banana"); // добавление элемента fruits.add("apple"); // добавление элемента for (var fruit: fruits) < System.out.println(fruit); // вывод элементов >//output: // banana // apple 

2. add(int index, E element) – в данном методе добавление элемента происходит в определенную позицию (index), а все последующие элементы двигаются слева направо. Метод эффективен для небольших размеров списка (когда размер списка не более ~100 элементов). В ином случае – если в программе происходит много сдвигов, то лучше использовать LinkedList.

 ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add(1, "watermelon"); // добавляем элемент на 2-ую позицию. for (var fruit : fruits) < System.out.println(fruit); >/*output apple watermelon banana */ 

3. addAll(Collection ) – добавление списка элементов в конец добавляемого списка. То есть, при вызове данного метода в конец списка добавляются все элементы в таком же порядке.

 //список фруктов ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add(1, "watermelon"); //список овощей ArrayList vegetables = new ArrayList<>(); vegetables.add("cucumber"); vegetables.add("carrot"); //список покупок ArrayList groceries = new ArrayList<>(); //добавляем в список покупок овощи и фрукты groceries.addAll(vegetables); groceries.addAll(fruits); for (var item : groceries) < System.out.println(item); >/*output cucumber carrot apple watermelon banana */ 

4. addAll(int index, Collection ) – это смесь добавления списка и также добавления элемента в определенную позицию. В этом методе в позицию index производится добавление всех элементов из списка, а все последующие элементы смещаются направо.

 //список фруктов ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add(1, "watermelon"); //список овощей ArrayList vegetables = new ArrayList<>(); vegetables.add("cucumber"); vegetables.add("carrot"); //список покупок ArrayList groceries = new ArrayList<>(); //добавляем в список покупок овощи и фрукты groceries.addAll(vegetables); groceries.addAll(1, fruits); //добавляем список фруктов на 1-ую позицию списка продуктов //индекс 0, 1, 2, 3, 4 //было - cucumber, carror //стало - cucumber, apple, banana, watermelon, carrot for (var item : groceries) < System.out.println(item); >/*output cucumber apple watermelon banana carrot */ 

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

В ArrayList, существуют методы для удаления элементов. Всего существуют 3 метода для удаления элемента:

1. remove(int index) – удаление осуществляется, используя индекс определенного элемента. То есть, передается порядковый номер элемента и этот элемента удаляется из списка. Не забываем, что индекс начинается с 0.

 //список фруктов ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add("watermelon"); fruits.remove(0); // удаляем первый фрукт for (var fruit : fruits) < System.out.println(fruit); >/* output watermelon banana */ 

2. remove(object o) – метод удаляет первый встретившийся элемент, который равняется переданному объекту в параметрах. Если проще, то метод проходится по всему списку и ищет элемент, который равняется удаляемому объекту и при нахождении удаляет только первый встретившийся.

 //список фруктов ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add("watermelon"); fruits.remove("banana"); // удаляем фрукт банан for (var fruit : fruits) < System.out.println(fruit); >/* output apple watermelon */ 

3. removaAll(Collection c) – данный метод удаляет все элементы, находящиеся в передаваемом списке.

 //список фруктов ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add(1, "watermelon"); ArrayList fruitsToDelete = new ArrayList<>(); fruitsToDelete.add("apple"); fruitsToDelete.add("watermelon"); fruits.removeAll(fruitsToDelete); for (var fruit : fruits) < System.out.println(fruit); >/* output banana */ 

Вспомогательные методы

В Arraylist встречаются различные методы, которые являются вспомогательными при различных условиях:

1. size() – возвращает размер списка.

 //список фруктов ArrayList fruits = new ArrayList(); fruits.add("apple"); fruits.add("banana"); fruits.add(1, "watermelon"); System.out.println(fruits.size()); /* output 3 */ 

2. sort(Comparator c) – происходит сортировка элементов по заданным параметрам Comparator . Есть уже значения по умолчанию у Comparator , которыми можно пользоваться, Comparator.naturalOrder() , а также Comparator.reverseOrder() .

 ArrayList numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(-1); numbers.add(5); //сортирует по возрастанию numbers.sort(Comparator.naturalOrder()); for (var number:numbers) < System.out.print(number + " "); >//переворачивает список в конца numbers.sort(Comparator.reverseOrder()); System.out.println(); for (var number:numbers)

3. toArray() – данный метод превращает список в массив. Он возвращает массив объектов ( Object[] ), но можно вернуть желаемый тип данных и для этого потребуется в метод toArray(Array a) передать уже созданный массив.

 ArrayList numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(-1); numbers.add(5); var numbersArray = numbers.toArray(); for (var number:numbersArray) < System.out.print(number + " "); >System.out.println(); //определения типа Integer[], чтобы в тип данных var numbersArrayDefined = new Integer[numbers.size()]; numbers.toArray(numbersArrayDefined); for (var number: numbersArrayDefined) < System.out.print(number + " "); >//output /* 1 3 -1 5 1 3 -1 5 */ 

4. isEmpty() – проверка списка на наличие элементов. Если список пустой, то возвращает true , в противном случае – false .

 ArrayList numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(-1); numbers.add(5); System.out.println(numbers.isEmpty());//false ArrayList numbersEmpty = new ArrayList<>(); System.out.println(numbersEmpty.isEmpty()); //true 

5. indexOf(Object o) – метод возвращает позицию передаваемого элемента, и, если элемент не был найден, возвращает -1.

 ArrayList fruits = new ArrayList<>(); fruits.add("apple"); fruits.add("banana"); fruits.add("watermelon"); System.out.println(fruits.indexOf("apple")); // 0 System.out.println(fruits.indexOf("banana")); // 1 System.out.println(fruits.indexOf("watermelon")); // 2 

6. clear() – удаляет все элементы из списка.

 ArrayList fruits = new ArrayList<>(); fruits.add("apple"); fruits.add("banana"); fruits.add("watermelon"); fruits.clear(); // очищаем список System.out.println(fruits.isEmpty()); // true 

7. clone() – метод копирует список. После копирования нужно привести к необходимому классу, то есть type casting . Когда список клонируется, создается отдельный независимый объект и удаление родительского списка не влияет на элементы нового списка.

 ArrayList fruits = new ArrayList<>(); fruits.add("apple"); fruits.add("banana"); fruits.add("watermelon"); var fruitsNew = (ArrayList)fruits.clone(); fruits.clear(); // очищаем предыдущий список // для проверки что fruitsNew действительно новый список for (var fruit : fruitsNew) < System.out.println(fruit); >/* output * apple * banana * watermelon * */ 

Также можно прочитать более подробно про все существующие методы ArrayList в документации Oracle по ссылке.

Материалы по теме

Источник

Читайте также:  String like string javascript
Оцените статью