学习Java,对这种新的机制来说真的是很迷糊,一时间很多东西搞不明白怎么回事,Java的List接口有两种实现类分别是:ArrayList和LinkedList,二者利用的分别是数组和链表的实现原理,在一些不同场合的应用问题上会存在一定的性能的差异,上一篇博客中使用了一段简单的程序做了一个清晰的演示,这里主要是想试验一下利用list模拟queue的行为,看代码:

package play;import java.util.LinkedList;
import java.util.ArrayList;
import java.util.Random;
import java.util.NoSuchElementException; public class LinkedListTest { private LinkedList<Integer> queue = new LinkedList<Integer>(); public boolean isEmpty() { return this.queue.isEmpty(); } public void enterQueue(int data) { this.queue.addLast(data); } public int delQueue() throws NoSuchElementException { return this.queue.removeFirst(); } public static void main(String[] args) { LinkedListTest q = new LinkedListTest(); //LinkedListTest qq = new LinkedListTest();//qq.delQueue();//运行会报错NoSuchElementExceptionfor (int i=0; i<100; i++){Random ran = new Random();int random = ran.nextInt(1000);//产生1000以内的100个随机数q.enterQueue(random); }while (! q.isEmpty()) { int data = q.delQueue(); System.out.println(data); } System.out.println("--------------------------------------------------------------");LinkedList link_list = new LinkedList();String [] input = {"We","are","family!!!"};for(String one_word : input){link_list.addFirst(one_word);}System.out.println("link_list:" + link_list);System.out.println("--------------------------------------------------------------");ArrayList array_list = new ArrayList();String [] input2 = {"We","are","family!!!"};for(String one_word : input2){array_list.add(one_word);}System.out.println("array_list:" + array_list);}}

结果如下:

85
614
506
849
790
638
873
72
773
725
15
753
653
852
168
576
752
361
280
4
789
281
414
834
730
13
932
637
131
782
543
379
150
499
317
951
499
458
681
248
173
470
517
206
370
969
424
700
832
706
118
430
956
864
951
261
145
594
443
974
861
491
290
106
242
521
910
5
458
942
421
734
219
487
913
849
624
7
747
315
633
924
216
295
978
532
325
189
841
505
519
269
390
65
519
121
553
485
210
145
--------------------------------------------------------------
link_list:[family!!!, are, We]
--------------------------------------------------------------
array_list:[We, are, family!!!]

Java中ArrayList和LinkedList以及queue的模仿相关推荐

  1. java中ArrayList和LinkedList的区别

    首先来看ArrayList和LinkedList的集成类和接口的区别.// lang java public class ArrayList<E> extends AbstractList ...

  2. Java中ArrayList和LinkedList区别

    一般大家都知道ArrayList和LinkedList的大致区别:       1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.       2.对于随机 ...

  3. java中ArrayList与LinkedList的区别

    一.背景 面试题中经常会被面试官问到ArrayList和LinkedList的区别,下面从源码角度来对他们进行一下简单的阐述,相信会对它们有一个更全面深入的了解. 首先,ArrayList和Linke ...

  4. Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度

    一般大家都知道ArrayList和LinkedList的大致区别:       1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构.       2.对于随机 ...

  5. java c 性能比较_java 中ArrayList与LinkedList性能比较

    java 中ArrayList与LinkedList性能比较 今天看一框架的代码,看到有些 可以使用ArrayList的地方 使用的是 LinkedList,用到的情景是在一个循环里面进行顺序的插入操 ...

  6. java的list和数组谁高效_java 中ArrayList与LinkedList性能比较

    java 中ArrayList与LinkedList性能比较 今天看一框架的代码,看到有些 可以使用ArrayList的地方 使用的是 LinkedList,用到的情景是在一个循环里面进行顺序的插入操 ...

  7. Java 中ArrayList中的重复数据

    以下介绍五种-不同的方法去除 Java 中ArrayList中的重复数据 1.使用LinkedHashSet删除arraylist中的重复数据 LinkedHashSet是在一个ArrayList删除 ...

  8. Java中arraylist和数组的相互转换

    Java中ArrayList和数组之间的相互转换 ArrayList转为数组 数组转为ArrayList 一.ArrayList转换数组 public static void arrayListToA ...

  9. java arraylist和list_Java中ArrayList和LinkedList区别

    原文链接:http://pengcqu.iteye.com/blog/502676 一般大家都知道ArrayList和LinkedList的大致区别: 1.ArrayList是实现了基于动态数组的数据 ...

  10. java stack 类 效率_Java中ArrayList、LinkedList、Vector、Stack的比较

    一.介绍 先回顾一下List的框架图 由图中的继承关系,可以知道,ArrayList.LinkedList.Vector.Stack都是List的四个实现类. AbstractList是一个抽象类,它 ...

最新文章

  1. K项目轶事之被客户通报批评
  2. SCOPE_IDENTITY()
  3. 国内 Java 开发者必备的两个装备,你配置上了么?
  4. linux 下oracle启动步骤
  5. python 宏处理库_常用的Python库,给大家分享一下!
  6. CG CTF WEB COOKIE
  7. Pytorch使用Vision Transformer做肺癌和结肠癌组织病理学图像分类
  8. Asp.net mvc 知多少(一)
  9. 15分钟从零开始搭建支持10w+用户的生产环境(一)
  10. 润米咨询创始人刘润:传统企业数字化转型之道
  11. AI大有可为:NAIE平台助力垃圾分类
  12. 同一字段降序个升序_5个打印小技巧,表格打印没烦恼
  13. 侧边栏_第四课 侧边栏和过滤器
  14. Java 8 Stream.distinct() 列表去重示例
  15. Qt控件背景图片自适应
  16. php商城如何解决订单高并发,thinkphp商城如何处理高并发,怎么使用memcache做缓存...
  17. 计算机定时关机教程,Win7系统电脑设置定时关机和取消定时关机的教程
  18. 解决Ubuntu无法调节外接显示器亮度的问题
  19. 桃花影落飞神剑,碧海潮生按玉箫(黄药师)
  20. OMAP 3 图像信号处理器 (ISP) 驱动

热门文章

  1. Asp.net core WebApi 使用Swagger生成帮助页实例
  2. oracle--merge
  3. 黑苹果(1)为什么是黑苹果PPT?
  4. Python_三级菜单
  5. Delphi动态调用C++写的DLL
  6. 《Java大学教程》—第23章 Java网络编程
  7. freemarker 标签循环list 以及获取下标值
  8. WebBrowser填充表单值的问题.
  9. katakana.php,片假名 平假名转换器 - Hi!Penpal!
  10. python commands执行不连续_python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。...