A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黄敏文 黑马帝   /  2011-9-4 11:00  /  2307 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

测试代码:
[code=java]
import java.util.ArrayList;
public class ArrayListDemo {
public static void main(String[] args) {
  ArrayList<String> list = new ArrayList<String>();
  
  list.add("aa");
  list.add("bb");
  list.add("cc");  
  
  for (String s : list) {
   System.out.println(s);
  }
}
}
[/code]

ArrayLIst中的元素是有序的,且迭代出的元素是先进先出的,即先存a,则迭代的时候a就是最先被迭代出来,那这是否可以看成是一个队列的模型

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

3 个回复

倒序浏览
黑马网友  发表于 2011-9-4 12:14:43
沙发
。。。不是的,队列是指你无法获取排在第二个的元素,但是ArrayList完全可以直接获取第二个元素而不用理会下标排在它前面那个

评分

参与人数 1技术分 +1 收起 理由
wangfayin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-4 12:24:39
藤椅

回复 楼主 的帖子

首先楼主需要知道队列他是先进先出,
而ArrayList就是传说中的动态数组,就是Array的复杂版本,它提供了动态的增加和减少元素,实现了ICollection和IList接口,灵活的设置数组的大小等好处。

当你用ArrayList创建了一个集合后,它是有下标的,也就是说,我们可以通过它的下标来存取,删除修改里面的数据,而不是像队列一样只能对队首尾进行操作。

所以很显然,不能把ArrayList看为一个队列模型。

不知道我的理解有误没有,我所知道的就是这样,希望能给楼主一点启发吧

评分

参与人数 1技术分 +2 收起 理由
wangfayin + 2

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-4 12:46:42
板凳
不能完全说是队列  
list.add("aa");
list.add("bb");
list.add("cc");
就好像是把 aa、bb、cc都放入数组中,然后迭代器则从下标为0的数组开始输出数据
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马