集合的由来
数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦。
java 内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少
数组和集合的区别
区别1 :
数组既可以存储基本数据类型,又可以存储引用数据类型,基本数据类型存储的是值,引用数据类型存储的是地址值。
集合只能存储引用数据类型(对象)集合中也可以存储基本数据类型,但是在存储的时候会自动装箱变成对象。
区别2:
数组长度是固定的,不能自动增长。
集合的长度的是可变的,可以根据元素的增加而增长。
数组和集合什么时候用
1)如果元素个数是固定的推荐用数组
2)如果元素个数不是固定的推荐用集合
集合继承体系图
集合的遍历之秩代器遍历
秩带器概述
集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历)
public class Interator{
public static void main(String[] args){
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
Interator it = c.iterator();
while(it.hasNext()){
System.put.println(it.next());
}
}
}
运行结果:
a
b
c
秩代器的原理
迭代器是对集合进行遍历,而每一个集合内部的存储结构都是不同的,所以每一个集合存和取都是不一样,那么就需要在每一个类中定义 hasNext() 和 next() 方法,这样做是可以的,但是会让整个集合体系过于臃肿。
迭代器是将这样的方法向上抽取出接口,然后在每个类的内部,定义自己迭代方式,这样做的好处有二:
第一:规定了整个集合体系的遍历方式都是hasNext()和next()方法
第二:代码有底层内部实现,使用者不用管怎么实现的,会用即可