Рубрики

Список интерфейса в Java с примерами

Java.util.List является дочерним интерфейсом Collection . Это упорядоченная коллекция объектов, в которой могут храниться повторяющиеся значения. Поскольку List сохраняет порядок вставки, он позволяет позиционный доступ и вставку элементов. Интерфейс списка реализуется классами ArrayList , LinkedList , Vector и Stack .

Декларация:

public abstract interface List extends Collection

Создание объектов списка:
List — это интерфейс, и экземпляры List могут быть созданы путем реализации различных классов следующими способами:

List a = new ArrayList();
List b = new LinkedList();
List c = new Vector(); 
List d = new Stack(); 

Общий список объектов:
После введения Generics в Java 1.5 стало возможным ограничить тип объекта, который может храниться в списке. Типобезопасный список может быть определен следующим образом:

// Obj is the type of object to be stored in List
List<Obj> list = new ArrayList<Obj> ();

Операции над списком:
List Interface расширяет коллекцию, следовательно, он поддерживает все операции интерфейса коллекции, а также следующие дополнительные операции:

  1. Позиционный доступ:
    Список позволяет добавлять, удалять, получать и устанавливать операции на основе числовых позиций элементов в Списке. Список предоставляет следующие методы для этих операций:
    • void add (int index, Object O): Этот метод добавляет данный элемент по указанному индексу.
    • boolean addAll (int index, Collection c): этот метод добавляет все элементы из указанной коллекции в список. Первый элемент вставляется по указанному индексу. Если в этой позиции уже есть элемент, этот элемент и другие последующие элементы (если они есть) сдвигаются вправо путем увеличения их индекса.
    • Object remove (int index): этот метод удаляет элемент из указанного индекса. Он сдвигает последующие элементы (если они есть) влево и уменьшает их индексы на 1.
    • Object get (int index): этот метод возвращает элемент по указанному индексу.
    • Object set (int index, Object new): Этот метод заменяет элемент по указанному индексу новым элементом. Эта функция возвращает элемент, который был только что заменен новым элементом.

    // Java-программа для демонстрации позиционного доступа
    // операции с интерфейсом List

    import java.util.*;

      

    public class ListDemo {

        public static void main(String[] args)

        {

            // Создание списка

            List<Integer> l1 = new ArrayList<Integer>();

            l1.add(0, 1); // добавляет 1 при 0 индексе

            l1.add(1, 2); // добавляет 2 на 1 индекс

            System.out.println(l1); // [1, 2]

      

            // Создание другого списка

            List<Integer> l2 = new ArrayList<Integer>();

            l2.add(1);

            l2.add(2);

            l2.add(3);

      

            // Добавим список l2 из 1 индекса

            l1.addAll(1, l2);

            System.out.println(l1);

      

            // удаляет элемент из индекса 1

            l1.remove(1);

            System.out.println(l1); // [1, 2, 3, 2]

      

            // Печатает элемент по индексу 3

            System.out.println(l1.get(3));

      

            // Заменим 0-й элемент на 5

            l1.set(0, 5);

            System.out.println(l1);

        }

    }

    Выход:

    [1, 2]
    [1, 1, 2, 3, 2]
    [1, 2, 3, 2]
    2
    [5, 2, 3, 2]
    
  2. Поиск:
    List предоставляет методы для поиска элемента и возвращает его числовую позицию. Для этой операции List поддерживает два следующих метода:
    • int indexOf (Object o): этот метод возвращает первое вхождение данного элемента или -1, если элемент отсутствует в списке.
    • int lastIndexOf (Object o): этот метод возвращает последнее вхождение данного элемента или -1, если элемент отсутствует в списке.

    // Java-программа для демонстрации поиска
    // операции с интерфейсом List

      

    import java.util.*;

      

    public class ListDemo {

        public static void main(String[] args)

        {

            // Тип списка безопасных массивов, хранит только строку

            List<String> l = new ArrayList<String>(5);

            l.add("Geeks");

            l.add("for");

            l.add("Geeks");

      

            // Использование indexOf () и lastIndexOf ()

            System.out.println("first index of Geeks:"

                               + l.indexOf("Geeks"));

            System.out.println("last index of Geeks:"

                               + l.lastIndexOf("Geeks"));

            System.out.println("Index of element"

                               + " not present : "

                               + l.indexOf("Hello"));

        }

    }

    Выход:

    first index of Geeks:0
    last index of Geeks:2
    Index of element not present : -1
    
  3. Итерация:
    • ListIterator (расширяет Iterator) используется для итерации по элементу List. Список итераторов является двунаправленным итератором. Для более подробной информации о ListIterator обратитесь к Итераторам в Java .
  4. Диапазон вид:
    Интерфейс List предоставляет метод для получения представления List части данного List между двумя индексами. Ниже приведен метод, поддерживаемый списком для операции просмотра диапазона.
    • List subList (int fromIndex, int toIndex): Этот метод возвращает представление списка указанного списка между fromIndex (включительно) и toIndex (эксклюзивом).

    // Java-программа для демонстрации операции со списком
    // в интерфейсе списка.

    import java.util.*;

    public class ListDemo {

        public static void main(String[] args)

        {

            // Тип списка безопасных массивов, хранит только строку

            List<String> l = new ArrayList<String>(5);

      

            l.add("GeeksforGeeks");

            l.add("Practice");

            l.add("GeeksQuiz");

            l.add("IDE");

            l.add("Courses");

      

            List<String> range = new ArrayList<String>();

      

            // Возвращаем список между 2 (включая)

            // и 4-й элемент (исключая)

            range = l.subList(2, 4);

      

            System.out.println(range);

        }

    }

    Выход:

    [GeeksQuiz, IDE]
    

Эта статья предоставлена Dharmesh Singh . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Рекомендуемые посты:

Список интерфейса в Java с примерами

0.00 (0%) 0 votes