• Tags ,
  •         
  • www.breakyizhan.com
  •    

    Linkedlist是线性数据结构,其中元素不存储在连续的位置,每个元素都是具有数据部分和地址部分的独立对象。元素使用指针和地址进行链接。每个元素被称为节点。由于插入和删除的动态性和易用性,它们优于阵列。它也有一些缺点,比如节点不能直接访问,我们需要从头开始,然后通过链接到达我们希望访问的节点。
    为了将元素存储在链表中,我们使用一个双向链表,它提供了一个线性数据结构,并且还用于继承一个抽象类并实现list和deque接口。

    在Java中,LinkedList类实现了列表接口。LinkedList类也包含像其他java集合一样的各种构造函数和方法。

    Java LinkedList的构造函数:

    1. LinkedList():用于创建一个空的链表。
    2. LinkedList(Collection C):用于创建一个有序列表,其中包含集合迭代器返回的指定集合的​​所有元素。
    // Java code for Linked List implementation
    
    import java.util.*;
    
    public class Test
    {
        public static void main(String args[])
        {
            // Creating object of class linked list
            LinkedList<String> object = new LinkedList<String>();
    
            // Adding elements to the linked list
            object.add("A");
            object.add("B");
            object.addLast("C");
            object.addFirst("D");
            object.add(2, "E");
            object.add("F");
            object.add("G");
            System.out.println("Linked list : " + object);
    
            // Removing elements from the linked list
            object.remove("B");
            object.remove(3);
            object.removeFirst();
            object.removeLast();
            System.out.println("Linked list after deletion: " + object);
    
            // Finding elements in the linked list
            boolean status = object.contains("E");
    
            if(status)
                System.out.println("List contains the element 'E' ");
            else
                System.out.println("List doesn't contain the element 'E'");
    
            // Number of elements in the linked list
            int size = object.size();
            System.out.println("Size of linked list = " + size);
    
            // Get and set elements from linked list
            Object element = object.get(2);
            System.out.println("Element returned by get() : " + element);
            object.set(2, "Y");
            System.out.println("Linked list after change : " + object);
        }
    }
    

    输出:

    Linked list : [D, A, E, B, C, F, G]
    Linked list after deletion: [A, E, F]
    List contains the element 'E' 
    Size of linked list = 3
    Element returned by get() : F
    Linked list after change : [A, E, Y]

    Java LinkedList的方法:

    1. int size():它返回此列表中元素的数量。
    2. void clear():它删除列表中的所有元素。
    3. Object clone():它用于制作现有链接列表的副本。
    4. Object set(int index,Object element):它用于用新元素替换列表中的现有元素。
    5. boolean contains(Object element):如果元素存在于列表中,则返回true。
    6. boolean add(Object element):它将元素附加到列表的末尾。
    7. void add(int index,Object element):它将元素插入列表中'index'位置。
    8. boolean addAll(Collection C):它将一个集合追加到链接列表。
    9. boolean addAll(int index,Collection C):它将一个集合追加到指定位置的链表中。
    10. void addFirst(Object element):它将元素插入列表的开头。
    11. void addLast(Object element):它将元素附加在列表的末尾。
    12. Object get(int index):它返回列表中位置'index'处的元素。如果索引超出了列表的范围,它会抛出'IndexOutOfBoundsException'。
    13. Object getFirst():它返回链表的第一个元素。
    14. Object getLast():它返回链接列表的最后一个元素。
    15. int indexOf(Object element):如果找到元素,它将返回元素第一次出现的索引。否则,它返回-1。
    16. int lastIndexOf(Object element):如果找到元素,它将返回元素最后一次出现的索引。否则,它返回-1。
    17. Object remove():它用于从列表头部删除并返回元素。
    18. Object remove(int index):它删除此列表中位置'index'处的元素。如果列表为空,它会抛出'NoSuchElementException'。
    19. boolean remove(Object O):它用于从链表中移除一个特定的元素并返回一个布尔值。
    20. Object removeLast():它用于删除并返回链接列表的最后一个元素。
     
    转载请保留页面地址:https://www.breakyizhan.com/java/4686.html