Класс Java ArrayList
Класс Java ArrayList
В этом уроке мы узнаем о классе ArrayList в Java. Мы узнаем о различных операциях и методах массива с помощью примеров.
ArrayList
Класс платформы коллекций Java обеспечивает функциональность массивов с изменяемым размером. .
Он реализует List
интерфейс.
Java ArrayList против массива
В Java нам нужно объявить размер массива, прежде чем мы сможем его использовать. Как только размер массива объявлен, его трудно изменить.
Чтобы решить эту проблему, мы можем использовать ArrayList
учебный класс. Это позволяет нам создавать массивы изменяемого размера.
В отличие от массивов, массивы могут автоматически регулировать его емкость, когда мы добавляем или удаляем из него элементы. Следовательно, массивы также известны как динамические массивы. .
<час>Создание ArrayList
Перед использованием ArrayList
, нам нужно импортировать java.util.ArrayList
пакет первый. Вот как мы можем создавать массивы в Java:
ArrayList<Type> arrayList= new ArrayList<>();
Здесь Введите указывает тип массива. Например,
// create Integer type arraylist
ArrayList<Integer> arrayList = new ArrayList<>();
// create String type arraylist
ArrayList<String> arrayList = new ArrayList<>();
В приведенной выше программе мы использовали Integer
не внутр. Это потому, что мы не можем использовать примитивные типы при создании массива. Вместо этого мы должны использовать соответствующие классы-оболочки.
Здесь Integer
является соответствующим классом-оболочкой int
. Чтобы узнать больше, посетите класс-оболочку Java.
Пример:создание ArrayList в Java
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// Add elements to ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Swift");
System.out.println("ArrayList: " + languages);
}
}
Вывод
ArrayList: [Java, Python, Swift]
В приведенном выше примере мы создали ArrayList
названные языки .
Здесь мы использовали add()
метод для добавления элементов в список массивов. Мы узнаем больше о add()
метод далее в этом руководстве.
Основные операции с ArrayList
ArrayList
Класс предоставляет различные методы для выполнения различных операций с массивами. В этом руководстве мы рассмотрим некоторые часто используемые операции массива:
- Добавить элементы
- Доступ к элементам
- Изменить элементы
- Удалить элементы
1. Добавить элементы в ArrayList
Чтобы добавить один элемент в список массивов, мы используем add()
метод ArrayList
учебный класс. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args){
// create ArrayList
ArrayList<String> languages = new ArrayList<>();
// add() method without the index parameter
languages.add("Java");
languages.add("C");
languages.add("Python");
System.out.println("ArrayList: " + languages);
}
}
Вывод
ArrayList: [Java, C, Python]
В приведенном выше примере мы создали ArrayList
названные языки . Здесь мы использовали add()
метод добавления элементов в языки .
Чтобы узнать больше, посетите Java ArrayList add().
Другой способ добавления элементов в arraylist
Как добавить элемент в указанную позицию в ArrayList? Мы также можем передать номер индекса как дополнительный параметр к add()
метод для добавления элемента в указанную позицию. Например,
// add JavaScript at index 1
languages.add(1, "JavaScript");
// add C++ at index 3
languages.add(3, "C++");
Как добавить все элементы набора в список массивов? Мы также можем добавить все элементы коллекции (набор, карта) в массив с помощью addAll()
метод. Например,
import java.util.ArrayList;
import java.util.HashSet;
class Main {
public static void main(String[] args) {
// create a set
HashSet<String> vowels = new HashSet<>();
vowels.add("a");
vowels.add("e");
vowels.add("i");
// create an arraylist
ArrayList<String> alphabets = new ArrayList<>();
// add all elements of set to arraylist
alphabets.addAll(vowels);
System.out.println("ArrayList: " + alphabets);
}
}
// Output: ArrayList: [a, e, i]
Чтобы узнать больше, посетите Java ArrayList addAll().
<час>2. Доступ к элементам ArrayList
Чтобы получить доступ к элементу из массива, мы используем get()
метод ArrayList
учебный класс. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the arraylist
animals.add("Cat");
animals.add("Dog");
animals.add("Cow");
System.out.println("ArrayList: " + animals);
// get the element from the arraylist
String str = animals.get(1);
System.out.print("Element at index 1: " + str);
}
}
Вывод
ArrayList: [Cat, Dog, Cow] Element at index 1: Dog
В приведенном выше примере мы использовали get()
метод с параметром 1 . Здесь метод возвращает элемент с индексом 1. .
Чтобы узнать больше, посетите Java ArrayList get().
Мы также можем получить доступ к элементам ArrayList
используя iterator()
метод. Чтобы узнать больше, посетите итератор Java ArrayList().
3. Изменить элементы ArrayList
Чтобы изменить элементы массива, мы используем set()
метод ArrayList
учебный класс. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Kotlin");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// change the element of the array list
languages.set(2, "JavaScript");
System.out.println("Modified ArrayList: " + languages);
}
}
Вывод
ArrayList: [Java, Kotlin, C++] Modified ArrayList: [Java, Kotlin, JavaScript]
В приведенном выше примере мы создали ArrayList
названные языки . Обратите внимание на строку,
language.set(2, "JavaScript");
Здесь set()
метод изменяет элемент в индексе 2 на JavaScript .
Чтобы узнать больше, посетите Java ArrayList set().
<час>4. Удалить элементы ArrayList
Чтобы удалить элемент из массива, мы можем использовать remove()
метод ArrayList
учебный класс. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> animals = new ArrayList<>();
// add elements in the array list
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
// remove element from index 2
String str = animals.remove(2);
System.out.println("Updated ArrayList: " + animals);
System.out.println("Removed Element: " + str);
}
}
Вывод
ArrayList: [Dog, Cat, Horse] Updated ArrayList: [Dog, Cat] Removed Element: Horse
Здесь remove()
метод принимает номер индекса как параметр. И удаляет элемент, указанный номером индекса .
Чтобы узнать больше, посетите Java ArrayList remove().
Мы также можем удалить все элементы из массива сразу. Чтобы узнать больше, посетите
- Java ArrayList removeAll()
- Java ArrayList очистить()
Методы класса ArrayList
В предыдущем разделе мы узнали о add()
. , get()
, set()
и remove()
метод ArrayList
класс.
Помимо этих основных методов, вот еще несколько ArrayList
методы, которые обычно используются.
Методы | Описания |
---|---|
размер() | Возвращает длину массива. |
сортировка() | Сортировка элементов массива. |
клон() | Создает новый список массивов с тем же элементом, размером и емкостью. |
содержит() | Выполняет поиск указанного элемента в массиве и возвращает логический результат. |
обеспечить емкость() | Указывает общее количество элементов, которые может содержать список массивов. |
пусто() | Проверяет, пуст ли список массивов. |
indexOf() | Выполняет поиск указанного элемента в списке массивов и возвращает индекс элемента. |
Если вы хотите узнать обо всех различных методах arraylist, посетите методы Java ArrayList.
<час>Перебор ArrayList
Мы можем использовать цикл for-each в Java для перебора каждого элемента массива. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// creating an array list
ArrayList<String> animals = new ArrayList<>();
animals.add("Cow");
animals.add("Cat");
animals.add("Dog");
System.out.println("ArrayList: " + animals);
// iterate using for-each loop
System.out.println("Accessing individual elements: ");
for (String language : animals) {
System.out.print(language);
System.out.print(", ");
}
}
}
Вывод
ArrayList: [Cow, Cat, Dog] Accessing individual elements: Cow, Cat, Dog,<час>
Часто задаваемые вопросы
В чем разница между Java ArrayList и LinkedList? Некоторые основные различия между ArrayList
и LinkedList
в Java:
ArrayList | Связанный список |
Реализует List интерфейс | Реализует List , Queue и Deque интерфейсы. |
Сохраняет одно значение. | Сохраняет 3 значения:данные, предыдущий и следующий адрес |
Обеспечивает функциональность массива с изменяемым размером. | Обеспечивает функциональность двусвязного списка |
Мы можем преобразовать ArrayList
в массив с помощью toArray()
метод. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the array list
languages.add("Java");
languages.add("Python");
languages.add("C++");
System.out.println("ArrayList: " + languages);
// create a new array of String type
String[] arr = new String[languages.size()];
// convert ArrayList into an array
languages.toArray(arr);
System.out.print("Array: ");
// access elements of the array
for (String item : arr) {
System.out.print(item + ", ");
}
}
}
Вывод
ArrayList: [Java, Python, C++] Array: Java, Python, C++,
В приведенном выше примере toArray()
метод преобразует языки arraylist в массив и сохраняет его в arr . Чтобы узнать больше, посетите Java ArrayList toArray().
Мы используем asList()
метод Arrays
учебный класс. Чтобы использовать asList()
, мы должны импортировать java.util.Arrays
пакет первый. Например,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create an array of String type
String[] arr = { "Java", "Python", "C++" };
System.out.print("Array: ");
// print array
for (String str : arr) {
System.out.print(str);
System.out.print(" ");
}
// create an ArrayList from an array
ArrayList<String> languages = new ArrayList<>(Arrays.asList(arr));
System.out.println("\nArrayList: " + languages);
}
}
Вывод
Array: Java Python C++ ArrayList: [Java, Python, C++]
В приведенной выше программе мы сначала создали массив arr
. из String
тип. Обратите внимание на выражение,
Arrays.asList(arr)
Здесь asList()
метод преобразует массив в список массивов.
Мы используем Arrays.asList()
метод для создания и инициализации массива в одной строке. Например,
import java.util.ArrayList;
import java.util.Arrays;
class Main {
public static void main(String[] args) {
// create and initialize ArrayList
ArrayList<String> languages = new ArrayList<>(Arrays.asList("Java", "Python", "C"));
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
Как преобразовать ArrayList в строку? Мы используем toString()
метод ArrayList
класс для преобразования массива в строку. Например,
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
ArrayList<String> languages = new ArrayList<>();
// add elements in the ArrayList
languages.add("Java");
languages.add("Python");
languages.add("Kotlin");
System.out.println("ArrayList: " + languages);
// convert ArrayList into a String
String str = languages.toString();
System.out.println("String: " + str);
}
}
Вывод
ArrayList: [Java, Python, Kotlin] String: [Java, Python, Kotlin]
Здесь toString()
метод преобразует весь список массивов в одну строку. Чтобы узнать больше, посетите Java ArrayList toString().
Мы также можем создать массив с помощью интерфейса List. Это потому, что класс ArrayList реализует интерфейс List. Давайте посмотрим на пример,
import java.util.ArrayList;
import java.util.List;
class Main {
public static void main(String[] args) {
// create arraylist using List
List<String> languages = new ArrayList<>();
languages.add("Java");
languages.add("Python");
languages.add("C");
System.out.println("ArrayList: " + languages);
}
}
// Output: ArrayList: [Java, Python, C]
java