![]() |
Коллекции Java: интерфейс ListИнтерфейс List является основным интерфейсом для коллекций, который позволяет хранить объекты в контейнере с изменяемым размером. ![]() Arraylist и LinkedList как реализации ArrayList является реализацией этого интерфейса и позволяет динамически добавлять и удалять элементы из списка. Если добавить в ArrayList больше элементов, чем его начальный размер,то он будет увеличиваться динамично. С элементами в ArrayList можно непосредственно и эффективно работать, используя get() и set() методы; ArrayList реализуется на основе массива. ArrayList обычно используется как класс реализации для интерфейса List. LinkedList реализован как двойной связанный список. Его производительность для add() и remove() лучше, чем у Arraylist. А вот get() и set() методы имеют худшую производительность, чем у ArrayList, так как LinkedList не обеспечивает прямого доступа к своим членам. Следующий код демонстрирует использование List и ArrayList: import java.util.ArrayList; import java.util.List; public class ListExample { public static void main(String[] args) { // типовое объявление List<Integer> list = Arrays.asList(13,77,1,8,5,76,6); // альтернативное объявление вида: // List<Integer> list = new ArrayList<>(); // и используем list.add(element); для добавления элементов for (Integer integer : list) { System.out.println(integer); } } }Сортировка списков Вы можете сортировать списки, используя естественный порядок или через лямбда выражения. Как правило, в Java 8 вы использовать лямбда-выражение или через ссылки. import java.util.*; public class MyClass { public static void main(String[] args) { System.out.println("Естественный порядок сортировки"); List<String> l1 = createList(); l1.sort(null); l1.forEach(System.out::println); System.out.println("Сортировка с лямбда выражением"); List<String> l2 = createList(); l2.sort((s1, s2) -> s1.compareToIgnoreCase(s2)); // сортировка без учета регистра l2.forEach(System.out::println); System.out.println("Сортировка методом ссылки"); List<String> l3 = createList(); l3.sort(String::compareToIgnoreCase); l3.forEach(System.out::println); } private static List<String> createList() { return Arrays.asList("Google.ru", "Yandex.ru", "Upread.ru", "Yahoo.com"); } }Удаление элементов списка на основе условия Метод removeIf позволяет удалять элементы списка на основе условия: import java.util.*; public class RemoveIfList { public static void main(String[] args) { System.out.println("Демонстрация removeIf"); List<String> l1 = createList(); // удаляем все элементы, которые содержат "я" l1.removeIf(s-> s.toLowerCase().contains("я")); l1.forEach(s->System.out.println(s)); } private static List<String> createList() { List<String> anotherList = new ArrayList<>(); anotherList.addAll(Arrays.asList("Саша", "Таня", "Юра","Коля")); return anotherList; } } ![]() Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда. ![]() Читайте также: |
Мои услуги
|
© upread.ru 2013-2022 При перепечатке активная ссылка на сайт обязательна. |