Java集合框架-1.Collection

数组弊端:长度固定,不能自动增长,所以有集合。

对象数组的内存图解:
在这里插入图片描述
基本数据类型存储的是值,引用数据类型存储的是对象的地址值

数组和集合区别:

  1. 数组可以存储基本数据类型,也可以存储引用数据类型,集合只能存储引用数据类型
  2. 集合长度可变,可以根据元素增加而增长(增加原数组的1.5倍)
    在这里插入图片描述
//集合中Iterator迭代方法
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
//如果在集合中加入对象,那么将对象向上转型为Object,要是想调用对象的方法必须先要向下转型

Iterator it =c.iterator();
while(it.hasNext()){
    System.out.println(it.next());
}

for(Iterator i = c.iterator;i.hasNext();){   //for循环用完就释放而while不会
    Systom.out.println(i.next());
}
//输出:
//a
//b
//c
//d

迭代器原理:迭代器是对集合进行遍历,而每一个集合存储结构不同,所以每一个集合存和取是不一样的,那么就需要在每一个类中定义hasNext()和Next()方法。这样会让集合体系过于臃肿,迭代器将这样的方法向上抽取出接口,然后在每个类内部定义迭代方式,好处是所有类统一调用,在底层实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值