ArrayList与linkList的区别

上传人:宝路 文档编号:20899544 上传时间:2017-11-22 格式:DOC 页数:8 大小:161.35KB
返回 下载 相关 举报
ArrayList与linkList的区别_第1页
第1页 / 共8页
ArrayList与linkList的区别_第2页
第2页 / 共8页
ArrayList与linkList的区别_第3页
第3页 / 共8页
ArrayList与linkList的区别_第4页
第4页 / 共8页
ArrayList与linkList的区别_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《ArrayList与linkList的区别》由会员分享,可在线阅读,更多相关《ArrayList与linkList的区别(8页珍藏版)》请在金锄头文库上搜索。

1、网易 新闻 微博 邮箱 闪电邮 相册 有道 手机邮 印像派 梦幻人生 更多 博客首页 风格 圈子 活动 话题 找朋友 博客复制 手机博客 短信写博 热点专题 意见反馈 更多 相册 摄影展区 每日专题 搜索 搜博文 搜博客随便看看注册 登录 梦想蓝海拥有一台计算机,就可以创造出无限精彩的世界!导航 首页 日志 相册 音乐 收藏 博友 关于我 日志梦想蓝海 加博友 关注他 最新日志 Hibernate 的乐观锁与悲观锁 java 获取 access 表名及列属性 js 下拉框的动态添加,删除 start with 用法 js 操作 select 深入理解 ArrayList 与 LinkedL博主

2、推荐相关日志随机阅读 如果她是天使请不要对身边的人漠不关心 说了几百年的独唱团终于来了 新剧红楼梦不知礼仪轻佻恶俗 牛刀:赌徒的世界杯和开发商的房价 乐创益公平贸易发展中心蓝印花布产品设计 80 后女人为何迷恋老男人首页推荐 星座男女床上表现大公开 世界杯决赛属于克鲁伊夫 快男决赛彩排王磊偷着乐 新红楼:角色选择太失败 唐伯虎 2:黄晓明很可笑 装孙子是人生大智慧更多spring 事务属性js 操作 select深入理解 ArrayList 与 LinkedList 的区别j2ee 2010-06-01 16:40:47 阅读 21 评论 0 字号:大中小 一、先来看看 ArrayList 与

3、 LinkedList 在 JDK 中所在的位置从图中可以看出,ArrayList 与 LinkedList 都是 List 接口的实现类,因此都实现了 List 的所有未实现的方法,只是实现的方式有所不同,(编程思想: 从中可以看出面向接口的好处, 对于不同的需求就有不同的实现!), 而List 接口继承了 Collection 接口,Collection 接口又继承了 Iterable 接口,因此可以看出 List 同时拥有了Collection 与 Iterable 接口的特性.二、认识和理解 ArrayListArrayList 实现了 List 接口,它是以数组的方式来实现的,数组的

4、特性是可以使用索引的方式来快速定位对象的位置 ,因此对于快速的随机取得对象的需求,使用 ArrayList 实现执行效率上会比较好. ArrayListDemo:Java 代码 1. public class ArrayListDemo 2. 3. public static void main(String args) 4. 5. List userlist = new ArrayList(); 6. userlist.add(yulon); 7. userlist.add(xiaoyun); 8. userlist.add(羽龙共舞); 9. System.out.println(使用普通

5、 for 循环:); 10. for(int i=0; i linkedList 3. = new LinkedList(); 4. 5. /* 6. * 将元素加入 LinkedList 容器 7. * (即插入到链表的第一个位置) 8. */ 9. public void push(String name) 10. linkedList.addFirst(name); 11. 12. /* 13. * 取出堆栈中最上面的元素 14. * (即取出链表 linkedList 的第一个元素) 15. * return 16. */ 17. public String getTop() 18.

6、return linkedList.getFirst(); 19. 20. /* 21. * 取出并删除最上面的元素 22. * (即移出 linkedList 的第一个元素) 23. * return 24. */ 25. public String pop() 26. return linkedList.removeFirst(); 27. 28. /* 29. * 获取元素个数 30. * return 31. */ 32. public int size() 33. return linkedList.size(); 34. 35. 36. /* 37. * 判断堆栈是否为空 38.

7、* (即判断 linkedList 是否为空) 39. * return 40. */ 41. public boolean isEmpty() 42. return linkedList.isEmpty(); 43. 44. /测试 45. public static void main(String args) 46. StringStack stack = new StringStack(); 47. stack.push(yulon); 48. stack.push(xiaoyun); 49. stack.push(羽龙共舞); 50. System.out.print(第一个元素是:

8、t); 51. System.out.println(stack.getTop(); 52. System.out.println(); 53. System.out.println(全部元素 :); 54. while(!stack.isEmpty() 55. System.out.println(t+stack.pop(); 56. 57. 58. 输出结果是:Xml 代码 1. 第一个元素是: 羽龙共舞 2. 3. 全部元素: 4. 羽龙共舞 5. xiaoyun 6. yulon 知识提示: LinkedList 的特有方法( 本身定义的方法)如:addFirst()、addLast(

9、)、getFirst()、getLast()、removeFirst()、removeLast()等2、实现队列类似,在此不再举例3、如果要使用队列的功能,由于 LinkedList 也实现了 java.util.Queue 接口,所以可以直接使用 LinkedList的实例来实现.Java 代码 1. public class QueueDemo 2. public static void main(String args) 3. /父类引用 queue 指向子类对象 4. Queue queue = new LinkedList(); 5. /offer()方法是往队列加入元素 6. qu

10、eue.offer(xiaoyun); 7. queue.offer(yulon); 8. queue.offer(羽龙共舞); 9. String element = null; 10. while(element=queue.poll()!=null) 11. System.out.println(element+t); 12. 13. 14. 输出顺序是:Xml 代码 1. xiaoyun 2. yulon 3. 羽龙共舞 四、在删除可插入对象的动作时,为什么 ArrayList 的效率会比较低呢?解析: 因为 ArrayList 是使用数组实现的,若要从数组中删除或插入某一个对象,需要移动后段的数组元素,从而会重新调整索引顺序,调整索引顺序会消耗一定的时间,所以速度上就会比 LinkedList 要慢许多. 相反,LinkedList 是使用链表实现的 ,若要从链表中删除或插入某一个对象,只需要改变前后对象的引用即可!0 人 | 分享到: 阅读(21)| 评论(0)| 引用(0) |举报 spring 事务属性js 操作 select历史上的今天相关文章最近读者登录后,您可以在此留下足迹。jameswh_评论登录后你可以发表评论,请先登录。登录 页脚公司简介 - 联系方法 - 招聘信息 - 客户服务 - 相关法律 - 网易公司版权所有 1997-2010

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号