Список массивов Java
Список массивов Java
Класс представляет собой массивArrayList
с изменяемым размером , который можно найти в пакете.java.util
Разница между встроенным массивом и массивом ArrayList
в Java заключается в том, что размер массива нельзя изменить (если вы хотите добавить или удалить элементы в/из массива, вам нужно создать новый). В то время как элементы могут быть добавлены и удалены из ArrayList
когда угодно. Синтаксис также немного отличается:
Пример
Создайте ArrayList
объект с именем cars , который будет хранить строки:
import java.util.ArrayList; // import the ArrayList class
ArrayList<String> cars = new ArrayList<String>(); // Create an ArrayList object
Если вы не знаете, что такое пакет, прочитайте наш учебник по пакетам Java .
Добавить элементы
Класс ArrayList
имеет много полезных методов. Например, чтобы добавить элементы в ArrayList
, используйте add()
метод:
Пример
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
System.out.println(cars);
}
}
Доступ к элементу
Чтобы получить доступ к элементу в ArrayList
, используйте get()
метод и обратитесь к номеру индекса:
Пример
cars.get(0);
Помните: индексы массива начинаются с 0: [0] — первый элемент. [1] — второй элемент и т. д.
Изменить элемент
Чтобы изменить элемент, используйте set()
метод и обратитесь к номеру индекса:
Пример
cars.set(0, "Opel");
Удалить элемент
Чтобы удалить элемент, используйте remove()
метод и обратитесь к номеру индекса:
Пример
cars.remove(0);
Чтобы удалить все элементы в ArrayList
, используйте clear()
метод:
Пример
cars.clear();
Размер списка массивов
Чтобы узнать, сколько элементов в ArrayList, используйте size
метод:
Пример
cars.size();
Цикл через ArrayList
Переберите элементы ArrayList
с помощью for
цикла и используйте
size()
метод, чтобы указать, сколько раз должен выполняться цикл:
Пример
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (int i = 0; i < cars.size(); i++) {
System.out.println(cars.get(i));
}
}
}
Вы также можете пройти через цикл ArrayList
for -each :
Пример
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
for (String i : cars) {
System.out.println(i);
}
}
}
Другие типы
Элементы в ArrayList на самом деле являются объектами. В приведенных выше примерах мы создали элементы (объекты) типа «Строка». Помните, что String в Java — это объект (а не примитивный тип). Чтобы использовать другие типы, такие как int, необходимо указать эквивалентный класс-оболочку : Integer
. Для других примитивных типов используйте: Boolean
for boolean, Character
for char, Double
for double и т. д.:
Пример
Создайте объект ArrayList
для хранения чисел (добавьте элементы типа Integer
):
import java.util.ArrayList;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(10);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(25);
for (int i : myNumbers) {
System.out.println(i);
}
}
}
Сортировка ArrayList
Еще одним полезным классом в java.util
пакете является Collections
класс, включающий sort()
метод сортировки списков по алфавиту или по номерам:
Пример
Сортировка ArrayList строк:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
public class Main {
public static void main(String[] args) {
ArrayList<String> cars = new ArrayList<String>();
cars.add("Volvo");
cars.add("BMW");
cars.add("Ford");
cars.add("Mazda");
Collections.sort(cars); // Sort cars
for (String i : cars) {
System.out.println(i);
}
}
}
Пример
Сортировка ArrayList целых чисел:
import java.util.ArrayList;
import java.util.Collections; // Import the Collections class
public class Main {
public static void main(String[] args) {
ArrayList<Integer> myNumbers = new ArrayList<Integer>();
myNumbers.add(33);
myNumbers.add(15);
myNumbers.add(20);
myNumbers.add(34);
myNumbers.add(8);
myNumbers.add(12);
Collections.sort(myNumbers); // Sort myNumbers
for (int i : myNumbers) {
System.out.println(i);
}
}
}