快速业务通道

JAVA提高教程(9)-认识List列表之LinkedList - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17

JAVA提高教程(9)-认识List列表之LinkedList

时间:2011-04-07 csdn 老紫竹

LinkedList提供了将链接列表用作堆栈、队列或双端队列的方法,这里不再重复介绍 List的标准操作,只给出其独特方法的使用。

请注意其已经实现的接口

Serializable, Cloneable, Iterable<E>, Collection<E>, Deque<E>, List<E>, Queue<E>

1.package collection.lession9; 2. 3.import java.util.Arrays; 4.import java.util.Iterator; 5.import java.util.LinkedList; 6.import java.util.List; 7. 8./** 9. * 老紫竹JAVA提高教程(6)-认识List列表之LinkedList<br> 10. * 实现了双向队列的控制,包括头尾的操作<br> 11. * 可用于堆栈和FIFO操作等。 <br> 12. * <br> 13. * 相关API请查看 api.java2000.net/LinkedList 14. * 15. * @author 老紫竹 JAVA世纪网(java2000.net) 16. * 17. */ 18.public class Lession9 { 19. 20. public static void main(String[] args) { 21. // 对于List的基础操作,这里不再重复 22. // 请自行查看介绍List的内容 23. // 这里专注于LinkedList所引入的特性部分 24. // 25. LinkedList<String> list = new LinkedList<String>(); 26. list.add("1111"); 27. list.add("2222"); 28. list.add("3333"); 29. 30. showList(list); // [1111, 2222, 3333] 31. 32. // 在列表的最头部增加一个 33. list.addFirst("head"); 34. showList(list); // [head, 1111, 2222, 3333] 35. 36. // 测试反向的迭代器 37. // 正常的迭代器应该是从第一个数据开始 38. // 这个是从最后一个开始,这也是LinkedList的特点 39. Iterator<String> it = list.descendingIterator(); 40. while (it.hasNext()) { 41. System.out.print(it.next() + ","); // 3333,2222,1111,head, 42. } 43. System.out.println(); 44. 45. // 获取列表的第一个数据,且继续保留这个数据 46. // 内部都是 getFirst,无任何区别 47. System.out.println(list.element()); // head 48. System.out.println(list.getFirst()); // head 49. // 如果长度为0,会返回null,否则和getFirst相同 50. System.out.println(list.peek()); // head 51. System.out.println(list.peekFirst()); // head 52. 53. // 获取列表的最后一个数据,且继续保留这个数据 54. System.out.println(list.getLast()); // 3333 55. // 如果长度为0,会返回null,否则和getLast相同 56. System.out.println(list.peekLast()); // 3333 57. 58. // 在列表末尾增加一个数据 59. list.offer("tail"); 60. showList(list); // [head, 1111, 2222, 3333, tail] 61. 62. // 在列表最前面增加一个数据 63. // 内部通过 addFirst 实现的 64. list.offerFirst("----"); 65. showList(list); // [----, head, 1111, 2222, 3333, tail] 66. 67. // 在列表末尾增加一个数据 68. // 内部通过 addLast实现的 69. list.offerLast("===="); 70. showList(list); // [----, head, 1111, 2222, 3333, tail, ====] 71. 72. // 获取列表的第一个数据,并从删除这个数据 73. System.out.println(list.poll()); // ---- 74. System.out.println(list.pollFirst()); // head 75. 76. // 获取列表的最后一个数据,并从删除这个数据 77. System.out.println(list.pollLast()); // ==== 78. 79. // 以堆栈的形式存入一个数据 80. // 将该元素插入此列表的开头 81. // 内部通过 addFirst实现 82. list.push("xyz"); 83. showList(list);

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号