LinkedList用法详解
2016-05-25 09:15
246 查看
LinkedList:特有方法:
addFirst();
addLast();
getFirst();
getLast();
获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException
removeFirst();
removeLast();
获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchElementException
在JDK1.6出现了替代方法。
offerFirst();
offerLast();
peekFirst();
peekLast();
获取元素,但不删除元素。如果集合中没有元素,会返回null。
pollFirst();
pollLast();
获取元素,但是元素被删除。如果集合中没有元素,会返回null。
使用LinkedList模拟一个堆栈或者队列数据结构。
堆栈:先进后出 如同一个杯子。
队列:先进先出 First in First out FIFO 如同一个水管。
addFirst();
addLast();
getFirst();
getLast();
获取元素,但不删除元素。如果集合中没有元素,会出现NoSuchElementException
removeFirst();
removeLast();
获取元素,但是元素被删除。如果集合中没有元素,会出现NoSuchElementException
在JDK1.6出现了替代方法。
offerFirst();
offerLast();
peekFirst();
peekLast();
获取元素,但不删除元素。如果集合中没有元素,会返回null。
pollFirst();
pollLast();
获取元素,但是元素被删除。如果集合中没有元素,会返回null。
import java.util.*; class LinkedListDemo { public static void main(String[] args) { LinkedList link = new LinkedList(); link.addLast("java01"); link.addLast("java02"); link.addLast("java03"); link.addLast("java04"); //sop(link); // sop(link.getFirst()); // sop(link.getFirst()); //sop(link.getLast()); //sop(link.removeFirst()); //sop(link.removeFirst()); //sop("size="+link.size()); while(!link.isEmpty()) { sop(link.removeLast()); } } public static void sop(Object obj) { System.out.println(obj); } } /* --- java01 java02 java03 java04 ---- java04 java03 java02 java01 --- */
使用LinkedList模拟一个堆栈或者队列数据结构。
堆栈:先进后出 如同一个杯子。
队列:先进先出 First in First out FIFO 如同一个水管。
import java.util.*; class DuiLie { private LinkedList link; DuiLie() { link = new LinkedList(); } public void myAdd(Object obj) { link.addFirst(obj); } public Object myGet() { return link.removeFirst(); } public boolean isNull() { return link.isEmpty(); } } class LinkedListTest { public static void main(String[] args) { DuiLie dl = new DuiLie(); dl.myAdd("java01"); dl.myAdd("java02"); dl.myAdd("java03"); dl.myAdd("java04"); while(!dl.isNull()) { System.out.println(dl.myGet()); } } }
相关文章推荐
- 解析Java中的队列和用LinkedList集合模拟队列的方法
- 分析Java中ArrayList与LinkedList列表结构的源码
- JAVA LinkedList和ArrayList的使用及性能分析
- 浅谈 java中ArrayList、Vector、LinkedList的区别联系
- LinkedList学习示例模拟堆栈与队列数据结构
- 集合操作(一)ArrayList,LinkedList源码分析
- 关于JDK1.7中LinkedList索引方法的思考
- 重新认识java-LinkedList
- ArrayList和LinkedList的主要区别
- [Leetcode题目]19. Remove Nth Node From End of List
- [Leetcode题目]21. Merge Two Sorted Lists
- [Leetcode题目]83. Remove Duplicates from Sorted List
- [Leetcode题目]160. Intersection of Two Linked Lists
- [Leetcode题目]203. Remove Linked List Elements
- [Leetcode题目]206. Reverse Linked List
- [Leetcode题目]234. Palindrome Linked List
- Java数据结构-线性表之单链表LinkedList
- ARRAYLIST VECTOR LINKEDLIST 区别与用法(2014-10-14)
- Remove Duplicates from Sorted List II