LinkedList基本用法
2017-05-28 20:50
369 查看
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.
LinkedList的构造函数如下
1. public LinkedList(): ——生成空的链表
2. public LinkedList(Collection col): 复制构造函数
public boolean add(Object element)
public boolean add(int index, Object element)
也可以把链表当初栈或者队列来处理:
public boolean addFirst(Object element)
public boolean addLast(Object element)
addLast()方法和不带索引的add()方法实现的效果一样.
LinkedList的构造函数如下
1. public LinkedList(): ——生成空的链表
2. public LinkedList(Collection col): 复制构造函数
1. 获取链表的第一个和最后一个元素
import java.util.LinkedList; public class LinkedListTest{ public static void main(String[] args) { LinkedList<String> lList = new LinkedList<String>(); lList.add("1"); lList.add("2"); lList.add("3"); lList.add("4"); lList.add("5"); System.out.println("链表的第一个元素是 : " + lList.getFirst()); System.out.println("链表最后一个元素是 : " + lList.getLast()); } }
2. 获取链表元素
for (String str: lList) { System.out.println(str); }
3. 从链表生成子表
List subl = lList.subList(1, 4); System.out.println(subl); lst.remove(2); System.out.println(lst); System.out.println(lList);
4. 添加元素:添加单个元素
如果不指定索引的话,元素将被添加到链表的最后.public boolean add(Object element)
public boolean add(int index, Object element)
也可以把链表当初栈或者队列来处理:
public boolean addFirst(Object element)
public boolean addLast(Object element)
addLast()方法和不带索引的add()方法实现的效果一样.
import java.util.LinkedList; public class LinkedListTest{ public static void main(String[] a) { LinkedList list = new LinkedList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.addFirst("X"); list.addLast("Z"); System.out.println(list); } }
5. 删除元素
import java.util.LinkedList; public class MainClass { public static void main(String[] a) { LinkedList list = new LinkedList(); list.add("A"); list.add("B"); list.add("C"); list.add("D"); list.removeFirst(); list.removeLast(); System.out.println(list); } }
6. 使用链表实现栈效果
import java.util.LinkedList; public class MainClass { public static void main(String[] args) { StackL stack = new StackL(); for (int i = 0; i < 10; i++) stack.push(i); System.out.println(stack.top()); System.out.println(stack.top()); System.out.println(stack.pop()); System.out.println(stack.pop()); System.out.println(stack.pop()); } } class StackL { private LinkedList list = new LinkedList(); public void push(Object v) { list.addFirst(v); } public Object top() { return list.getFirst(); } public Object pop() { return list.removeFirst(); } }
7. 使用链表来实现队列效果
import java.util.LinkedList; public class MainClass { public static void main(String[] args) { Queue queue = new Queue(); for (int i = 0; i < 10; i++) queue.put(Integer.toString(i)); while (!queue.isEmpty()) System.out.println(queue.get()); } } class Queue { private LinkedList list = new LinkedList(); public void put(Object v) { list.addFirst(v); } public Object get() { return list.removeLast(); } public boolean isEmpty() { return list.isEmpty(); } }
8. 将LinkedList转换成ArrayList
ArrayList<String> arrayList = new ArrayList<String>(linkedList); for (String s : arrayList) { System.out.println("s = " + s); }
9. 删除列表的首位元素
import java.util.LinkedList; public class Main { public static void main(String[] args) { LinkedList<String> lList = new LinkedList<String>(); lList.add("1"); lList.add("2"); lList.add("3"); lList.add("4"); lList.add("5"); System.out.println(lList); //元素在删除的时候,仍然可以获取到元素 Object object = lList.removeFirst(); System.out.println(object + " has been removed"); System.out.println(lList); object = lList.removeLast(); System.out.println(object + " has been removed"); System.out.println(lList); } }
10. 删除链表的特定元素
import java.util.LinkedList; public class Main { public static void main(String[] args) { LinkedList<String> lList = new LinkedList<String>(); lList.add("1"); lList.add("2"); lList.add("3"); lList.add("4"); lList.add("5"); System.out.println(lList); System.out.println(lList.remove("2"));//删除元素值=2的元素 System.out.println(lList); Object obj = lList.remove(2); //删除第二个元素 System.out.println(obj + " 已经从链表删除"); System.out.println(lList); } }
11. 替换元素
import java.util.LinkedList; public class Main { public static void main(String[] args) { LinkedList<String> lList = new LinkedList<String>(); lList.add("1"); lList.add("2"); lList.add("3"); lList.add("4"); lList.add("5"); System.out.println(lList); lList.set(3, "Replaced");//使用set方法替换元素,方法的第一个参数是元素索引,后一个是替换值 System.out.println(lList); } }
相关文章推荐
- LinkedList基本用法
- LinkedList的基本用法
- LinkedList基本用法
- LinkedList基本用法
- Linkedlist的基本用法
- LinkedList基本用法
- LinkedList基本用法
- Java LinkedList基本用法
- LinkedList基本用法
- Java LinkedList基本用法
- LinkedList基本用法
- LinkedList基本用法
- LinkedList基本用法,真得很详细,借鉴了,以后再遇到类似的问题啊,不仅要收集起来博文,更要自己争取写出来!
- Java笔记->LinkedList基本用法
- java进阶(4)集合类:ArrayList和 LinkedList,Vector 和stack,HashMap的基本用法
- LinkedList基本用法
- LinkedList基本用法
- JAVA学习【7】集合框架与Arraylist、Linkedlist、HashSet的基本用法
- LinkedList基本用法
- Java LinkedList基本用法