LinkedList集合
java.util.LinkedList
集合数据存储的结构是链表结构。方便元素添加、删除的集合。
LinkedList是一个双向链表,那么双向链表是什么样子的呢,我们用个图了解下
实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而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
}
}
}