java基础------LinkedList集合

LinkedList集合

java.util.LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合。

LinkedList是一个双向链表,那么双向链表是什么样子的呢,我们用个图了解下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wvrESkfK-1591708326542)(img\双向链表.png)]

实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。这些方法我们作为了解即可:

  • public void addFirst(E e):将指定元素插入此列表的开头。
  • public void addLast(E e):将指定元素添加到此列表的结尾。
  • public E getFirst():返回此列表的第一个元素。
  • public E getLast():返回此列表的最后一个元素。
  • public E removeFirst():移除并返回此列表的第一个元素。
  • public E removeLast():移除并返回此列表的最后一个元素。
  • public E pop():从此列表所表示的堆栈处弹出一个元素。
  • public void push(E e):将元素推入此列表所表示的堆栈。
  • public boolean isEmpty():如果列表不包含元素,则返回true。

LinkedList是List的子类,List中的方法LinkedList都是可以使用,这里就不做详细介绍,我们只需要了解LinkedList的特有方法即可。在开发时,LinkedList集合也可以作为堆栈,队列的结构使用。(了解即可)

方法演示:

package likedlist;

import 集合.LinkedList.Linkedlist;

import java.util.Iterator;
import java.util.LinkedList;

/**
 * @author fengxun
 * @version 1.0
 * @date 2020/6/9 20:43
 *
 *addFirst(E e)  在该列表开头插入指定的元素。
 *push(E e)将元素推送到由此列表表示的堆栈上。 换句话说,在该列表的前面插入元素。
 *addLast(E e)  将指定的元素追加到此列表的末尾。
 *
 * getFirst()  返回此列表中的第一个元素。
 * getLast() 返回此列表中的最后一个元素。
 *
 * removeFirst() 从此列表中删除并返回第一个元素。
 * removeLast() 从此列表中删除并返回最后一个元素
 *
 * pop() 从此列表表示的堆栈中弹出一个元素。换句话就是 删除并返回此列表的第一个元素。
 *
 */
public class linkedlist {
    public static void main(String[] args) {
        //定义linkedlist集合
        LinkedList<String> linkedList = new LinkedList<>();
        //向集合中添加元素
        linkedList.add("a");
        linkedList.add("b");
        linkedList.add("c");
        //addFirst(E e)  在该列表开头插入指定的元素。
        linkedList.addFirst("abc");
        System.out.println(linkedList);//[abc, a, b, c]
        //addLast(E e)  将指定的元素追加到此列表的末尾。
        linkedList.addLast("cba");
        System.out.println(linkedList);//[abc, a, b, c, cba]
        //push(E e)将元素推送到由此列表表示的堆栈上。 换句话说,在该列表的前面插入元素。
        linkedList.push("qwe");
        System.out.println(linkedList);//[qwe, abc, a, b, c, cba]
        //getFirst()  返回此列表中的第一个元素。
        String first = linkedList.getFirst();
        System.out.println("返回此列表中的第一个元素:"+first);//返回此列表中的第一个元素:qwe
        //getLast() 返回此列表中的最后一个元素。
        String last = linkedList.getLast();
        System.out.println("返回此列表中的最后一个元素:"+last);//返回此列表中的最后一个元素:cba
        // removeFirst() 从此列表中删除并返回第一个元素。
        String removeFirst = linkedList.removeFirst();
        System.out.println("删除并返回第一个元素:"+removeFirst);//删除并返回第一个元素:qwe
        // removeLast() 从此列表中删除并返回最后一个元素
        String removeLast = linkedList.removeLast();
        System.out.println("删除并返回最后一个元素"+removeLast);//删除并返回最后一个元素cba
        //pop() 从此列表表示的堆栈中弹出一个元素。换句话就是 删除并返回此列表的第一个元素。
        String pop = linkedList.pop();
        System.out.println("删除并返回此列表的第一个元素"+pop);//删除并返回此列表的第一个元素abc
        //判断集合是否为空
        while (!linkedList.isEmpty()) { 
            System.out.println(linkedList.pop()); //弹出集合中的栈顶元素
        }
        //循环集合
        for (String s : linkedList) {
            System.out.println(s);//a b c
        }
        System.out.println("---------------------------------------");
        //使用迭代器
        Iterator<String> iterator = linkedList.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(next);//a b c
        }
    }
}

在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章