linkedlist

来源:互联网 发布:深圳返享网络 编辑:程序博客网 时间:2024/06/11 00:21
import java.util.LinkedList;/* 2017-02-18 09:57:08 *linkedlist 是list接口的实现类    是一个list 集合 可以根据索引随机访问集合中的元素 *还实现了deque 接口  可以使用双端队列方法   既可以是栈  也可以是队列 *内部实现是使用了链表的形式来保存集合中的元素  *随机访问元素的性能较差  插入删除   性能较好      内部只需要改变  指针的地址即可   *vector 也是以数组的形式来存储集合元素 ,实现了线程同步,性能更加不好 * * *分析 **** * 都是线性表的两种典型实现 * arraylist  基于数组的线性表 * linkedlist 基于链表的线性表   不仅有list 的功能  还实现了deque 的   具有 双端队列、栈的功能 * * queue 队列 * deque 双端队列   既可以是队列也可是作为栈 *  * 数组是以一块连续的内存区来保存所有的元素  随机访问的性能较好   内部以数组作为底层的实现的集合 在随机访问的性能都较好 * 内部以链表实现的  插入删除 性能较好    * 总体来说  arraylist性能比linkedlist 性能较好 * 大部分时候都应该是使用arraylist *  *  *  * list 集合建议 * 遍历list 集合元素        arraylist  vector集合   应该使用 随机访问 方法 get 来遍历   性能更好 * 遍历linkedlist  是用迭代器 iterator  来遍历集合 * * 经常 插入 删除   操作大量数据的list集合的大小 可以使用linkedlist  *arraylist、vector 集合可能需要经常重新分配内存数组的大小 效果不好 * *多线程需要同时访问list集合的元素时,应该考虑使用collections 集合包装成线性安全的集合 * * */public class Linkedlistj {public static void main(String[] args) {LinkedList linkedList = new LinkedList();linkedList.add("a");  //list 方法linkedList.offer("b"); // deque方法for (int i = 0; i < linkedList.size(); i++) {//Object object = linkedList.get(i);//System.out.println(object);System.out.println(linkedList.get(i));  // list 遍历}System.out.println(linkedList.peekLast());}}

0 0