Введение
Массивы - это широко используемые линейные структуры данных в Java для хранения коллекций данных. Они позволяют произвольный доступ к любому элементу массива с использованием его индекса, так как элементы распределяются в последовательных блоках памяти. С другой стороны, интерфейс List предоставляет способ поддерживать упорядоченную коллекцию данных, и реализуется классами, такими как ArrayList и LinkedList. В этом лабораторном задании мы узнаем, как преобразовать массив в список и наоборот, используя различные методы в Java.
Преобразование массива в список с использованием метода asList()
Метод asList() класса Arrays можно использовать для преобразования массива в список. Он принимает массив в качестве параметра и возвращает список его элементов. Мы выполним следующие шаги для преобразования массива в список с использованием метода asList():
- Создать массив строк и массив целых чисел и инициализировать их значениями
- Использовать метод Arrays.asList() для преобразования массивов в списки
- Распечатать списки
import java.util.Arrays;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
// Шаг 1: Преобразование массива в список с использованием метода asList()
// Создание массива строк
String[] strArr = {"this", "is", "a", "string", "array"};
// Создание массива целых чисел
Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
// Преобразование массивов в списки с использованием метода asList()
List<String> strList = Arrays.asList(strArr);
List<Integer> intList = Arrays.asList(intArr);
// Распечатка списков
System.out.println("Array to List using asList() Method: ");
System.out.println(strList);
System.out.println(intList);
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Преобразование массива в список с использованием метода Collections.addAll()
Метод Collections.addAll() можно использовать для добавления всех элементов массива в список. Мы сначала должны создать пустой список, а затем передать существующий массив и новый список в качестве параметров этому методу. Мы выполним следующие шаги для преобразования массива в список с использованием метода Collections.addAll():
- Создать массив строк и массив целых чисел и инициализировать их значениями
- Создать пустой список соответствующих типов данных, используя класс ArrayList
- Использовать метод Collections.addAll() для добавления элементов массивов в списки
- Распечатать списки
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
// Шаг 2: Преобразование массива в список с использованием метода Collections.addAll()
// Создание массива строк
String[] strArr = {"this", "is", "a", "string", "array"};
// Создание массива целых чисел
Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
// Создание пустых списков соответствующих типов данных
List<String> strList = new ArrayList<String>();
List<Integer> intList = new ArrayList<Integer>();
// Использование метода Collections.addAll() для добавления элементов массивов в списки
Collections.addAll(strList, strArr);
Collections.addAll(intList, intArr);
// Распечатка списков
System.out.println("Array to List using Collections.addAll() Method: ");
System.out.println(strList);
System.out.println(intList);
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Преобразование массива в список с использованием метода Lists.newArrayList() библиотеки Guava
Метод Lists.newArrayList() из библиотеки Guava также можно использовать для преобразования массива в ArrayList. Мы выполним следующие шаги для преобразования массива в список с использованием метода Lists.newArrayList():
- Создать массив строк и массив целых чисел и инициализировать их значениями
- Использовать метод Lists.newArrayList() для преобразования массивов в ArrayList
- Распечатать ArrayList
import com.google.common.collect.Lists;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
// Шаг 3: Преобразование массива в список с использованием метода Lists.newArrayList() из Guava
// Создание массива строк
String[] strArr = {"this", "is", "a", "string", "array"};
// Создание массива целых чисел
Integer[] intArr = {2, 3, 5, 7, 11, 13, 17};
// Преобразование массивов в ArrayList с использованием метода Lists.newArrayList() из Guava
List<String> strList = Lists.newArrayList(strArr);
List<Integer> intList = Lists.newArrayList(intArr);
// Распечатка ArrayList
System.out.println("Array to List using Guava's Lists.newArrayList() Method: ");
System.out.println(strList);
System.out.println(intList);
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Написание собственного метода для преобразования массива в список
Мы также можем создать собственный метод для преобразования массива в список. Мы будем использовать метод add() интерфейса List для добавления элементов из массива в список. Мы выполним следующие шаги для создания собственного метода:
- Написать метод, который принимает массив строк в качестве параметра и возвращает список строк
- В теле метода создать пустой ArrayList
- Пройти по массиву и добавить каждый элемент в ArrayList с использованием метода add()
- Вернуть ArrayList
import java.util.ArrayList;
import java.util.List;
public class ArrayToList {
// Шаг 4: Создание собственного метода для преобразования массива в список
public static List<String> arrayToList(String[] strArr) {
List<String> strList = new ArrayList<String>();
for(int i = 0; i <= strArr.length - 1; i++)
strList.add(strArr[i]);
return strList;
}
public static void main(String[] args) {
// Создание массива строк
String[] strArr = {"this", "is", "a", "string", "array"};
// Преобразование массива в список с использованием нашего собственного метода
List<String> strList = arrayToList(strArr);
// Распечатка списка
System.out.println("Array to List using our own method: ");
System.out.println(strList);
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Преобразование списка в массив с использованием метода toArray()
Метод toArray() можно использовать для преобразования списка в массив. Он принимает массив в качестве параметра и возвращает массив, содержащий элементы списка. Мы выполним следующие шаги для преобразования списка в массив с использованием метода toArray():
- Создать ArrayList и добавить в него элементы
- Использовать метод toArray() для преобразования ArrayList в массив
- Распечатать массив
import java.util.ArrayList;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
// Шаг 5: Преобразование списка в массив с использованием метода toArray()
// Создание ArrayList
List<String> strList = new ArrayList<String>();
strList.add("this");
strList.add("is");
strList.add("a");
strList.add("string");
strList.add("array");
// Преобразование ArrayList в массив с использованием метода toArray()
String[] strArr = strList.toArray(new String[0]);
// Распечатка массива
System.out.println("List to Array using toArray() Method: ");
for(int i = 0; i <= strArr.length - 1; i++)
System.out.print(strArr[i] + " ");
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Преобразование списка в массив с использованием метода Iterables.toArray() библиотеки Guava
Метод Iterables.toArray() из библиотеки Guava также можно использовать для преобразования списка в массив. Мы выполним следующие шаги для преобразования списка в массив с использованием метода Iterables.toArray():
- Создать ArrayList и добавить в него элементы
- Использовать метод Iterables.toArray() для преобразования ArrayList в массив
- Распечатать массив
import com.google.common.collect.Iterables;
import java.util.ArrayList;
import java.util.List;
public class ArrayToList {
public static void main(String[] args) {
// Шаг 6: Преобразование списка в массив с использованием метода Iterables.toArray() из Guava
// Создание ArrayList
List<String> strList = new ArrayList<String>();
strList.add("this");
strList.add("is");
strList.add("a");
strList.add("string");
strList.add("array");
// Преобразование ArrayList в массив с использованием метода Iterables.toArray() из Guava
String[] strArr = Iterables.toArray(strList, String.class);
// Распечатка массива
System.out.println("List to Array using Guava's Iterables.toArray() Method: ");
for(int i = 0; i <= strArr.length - 1; i++)
System.out.print(strArr[i] + " ");
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Написание собственного метода для преобразования списка в массив
Мы также можем создать собственный метод для преобразования списка в массив. Мы будем перебирать список и получать каждый элемент с использованием метода get() и добавлять его в массив с использованием индексов массива. Мы выполним следующие шаги для создания собственного метода:
- Написать метод, который принимает список строк в качестве параметра и возвращает массив строк
- В теле метода создать пустой массив строк размером, равным размеру списка
- Перебрать список и добавить каждый элемент в массив с использованием индексов массива
- Вернуть массив
import java.util.ArrayList;
import java.util.List;
public class ArrayToList {
public static String[] listToArray(List<String> strList) {
String[] strArr = new String[strList.size()];
for(int i = 0; i <= strList.size() - 1; i++)
strArr[i] = strList.get(i);
return strArr;
}
public static void main(String[] args) {
// Создание собственного метода для преобразования списка в массив
// Создание ArrayList
List<String> strList = new ArrayList<String>();
strList.add("this");
strList.add("is");
strList.add("a");
strList.add("string");
strList.add("array");
// Преобразование ArrayList в массив с использованием нашего собственного метода
String[] strArr = listToArray(strList);
// Распечатка массива
System.out.println("List to Array using our own method: ");
for(int i = 0; i <= strArr.length - 1; i++)
System.out.print(strArr[i] + " ");
}
}
Для запуска кода откройте терминал, перейдите в папку проекта и введите следующую команду: javac ArrayToList.java && java ArrayToList
Резюме
В этом практическом занятии мы изучили различные методы преобразования массива в список и обратно в Java. Мы увидели, как можно использовать метод asList() класса Arrays, метод addAll() класса Collections и метод Lists.newArrayList() из библиотеки Guava для преобразования массива в список. Мы также увидели, как можно использовать метод toArray() и метод Iterables.toArray() из библиотеки Guava для преобразования списка в массив. Наконец, мы написали свои собственные методы для выполнения этих преобразований. Понимание различных методов преобразования массивов в списки и наоборот может помочь нам использовать потенциал обоих структур данных и повысить навыки программирования на Java.



