list中的linkedlist的用法
来源:互联网 发布:h5游戏渠道数据分享 编辑:程序博客网 时间:2024/05/21 17:23
list中的linkedlist的用法:
LinkedList是list接口的链表实现方式。
LinkedList类为在链表的开头及结尾获取(get)、删除(remove)、和插入(insert)元素提供了统一的命名方法,这些操作允许将ListedList用作堆栈、队列或双端队列。
此实现不是同步的。此类的iterator和listIterator方法返回的迭代器是快速失败的:在迭代器创建之后,如果从结构上对列表进行修改,除非通过迭代器本身的remove或add方法,其他任何时间任何方式的修改,迭代器都将抛出ConcurrentModificationException。因此面对并发的修改,迭代器很快就会完全失败,而不冒将来不确定的时间任意发生不确定行为的风险。
其构造方法有:
1、LinkedList(); 构造一个空列表
2、LinkedList(c); 构造一个包含指定collection中的元素的列表,这些元素按其collection的迭代器返回的顺序排列。
package cn.list.demo;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link1=new LinkedList();link1.addFirst("abc1");link1.addFirst("abc2");link1.addFirst("abc3");System.out.println(link1);LinkedList link2=new LinkedList();link2.addLast("abc4");link2.addLast("abc5");link2.addLast("abc6");System.out.println(link2);LinkedList link=new LinkedList(link1);link.add(link2);System.out.println(link);}}
1、添加:
package cn.list.demo;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link=new LinkedList();/* * 添加元素:三种方式 * 1、添加到头部 addFirst(e); * 2、添加到尾部 addLast(e);等同于add(e); * 3、添加到指定位置 add(index,e); */link.addFirst("abc1");link.addFirst("abc2");link.addFirst("abc3");link.addFirst("abc4");System.out.println(link);link.addLast("abc5");link.addLast("abc6");link.addLast("abc7");link.addLast("abc8");System.out.println(link);link.add("abc5");link.add("abc6");link.add("abc7");link.add("abc8");// 添加到下标为5,也即第六个位置link.add(5,"hello word");System.out.println(link);}}2、删除:
remove(); 获取并移除此列表中的头元素。
removeFirst(); 移除并返回此列表的第一个元素。
感觉这两个方法一样!
removeLast(); 移除并返回列表的最后一个元素。
remove(int index); 移除此列表中指定位置处的元素。
remove(Object o); 从此列表中移除首次出现的指定元素。
package cn.list.demo;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link=new LinkedList();link.addFirst("abc1");link.addFirst("abc2");link.addFirst("abc3");link.addFirst("abc4");System.out.println(link);link.addLast("abc5");link.addLast("abc6");link.addLast("abc7");link.addLast("abc8");System.out.println(link);link.add("abc5");link.add("abc6");link.add("abc7");link.add("abc8");// 添加到下标为5,也即第六个位置link.add(5,"hello word");System.out.println(link);// 删除头元素System.out.println(link.remove());System.out.println(link);System.out.println(link.removeFirst());System.out.println(link);// 删除最后一个元素System.out.println(link.removeLast());System.out.println(link);// 删除指定位置的元素System.out.println(link.remove(3));System.out.println(link);// 删除首次出现的指定元素System.out.println(link.remove("abc7"));System.out.println(link);}}3、获取元素:
get(); 获取列表中指定位置处的元素。
getFirst(); 获取列表中第一个元素。
getLast(); 获取列表中最后一个元素。
用法和删除方法的用法一样,get方法只获取元素,并不删除元素;而remove方法既获取该元素,又会将该元素删除。
4、把LinkedList当作堆栈使用时的一些常用方法:
pop(); 从此列表所表示的堆栈处弹出一个元素。
push(); 将元素推入此列表所表示的堆栈。
clear(); 从列表中移除所有元素。
package cn.list.demo;import java.util.Iterator;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){LinkedList link=new LinkedList();link.push("abc1");link.push("abc2");link.push("abc3");link.push("abc4");link.push("abc5");// 堆栈while(!link.isEmpty()){System.out.println(link.pop());}System.out.println(link);}}
package cn.list.demo;import java.util.Iterator;import java.util.LinkedList;public class LinkedListDemo {public static void main(String[] args){// 创建队列对象MyQueue myq=new MyQueue();// 给队列中添加元素myq.myAdd("abc1");myq.myAdd("abc2");myq.myAdd("abc3");myq.myAdd("abc4");myq.myAdd("abc5");while(!myq.isNull()){System.out.println(myq.myGet());}}}
package cn.list.demo;import java.util.LinkedList;/* * 自定义的一种队列数据结构的容器。 */public class MyQueue {private LinkedList link=null;public MyQueue(){link=new LinkedList();}/* * 往队列中添加元素 */public void myAdd(Object obj){// 调用LinkedList的方法link.addLast(obj);}/* * 获取队列中元素的方法 */public Object myGet(){return link.removeFirst();}/* * 队列是否为空 */public boolean isNull(){return link.isEmpty();}}
- list中的linkedlist的用法
- List和LinkedList的接口的用法二。
- java LinkedList的用法
- LinkedList的基本用法
- LinkedList的万能用法
- LinkedList的用法小结
- LinkedList类的用法
- Linkedlist的基本用法
- c#linkedlist list的区别
- List的ArrayList和LinkedList
- java中的list,arraylist,vector,linkedlist
- Java中的list---ArrayList与LinkedList
- List,Map,Set以及常用的ArrayList,LinkedList,HashMap的区别和用法
- [转载] ArrayList Vector LinkedList 区别与用法 以及对 List,Map,Set 的解析
- Collection List Set SortedSet ArrayList LinkedList HashSet LinkedHashSet TreeSet的认识及用法
- LinkedList的一种错误用法
- LinkedList 的一个错误用法
- ArrayList和LinkedList的用法
- android ListView隐藏FooterView(headerView)
- 第2次实验——算法基本功 与 综合思考
- 使用Django进行web开发(1) ----环境的搭建与部署
- JAVA的Random类(转)
- 我的c#之路(8.异常处理语句)
- list中的linkedlist的用法
- Hibernate4中生成session的变化
- 学了软件体系结构,发现挺有意思,挺有用的
- linux平台Redis安装
- Listview 保持选中的item高亮,即使listview失去焦点
- Struts2 中的值栈的理解
- 高考过后解读摧残人性的高压应试教育
- Linux多线程编程(6)
- Ubuntu13.10安装Jdk1.7