collection集合知识点

讨论问题:

当遇到想存储一定数量的对象的情况,想着用数组存储。

其效果相当于二维数组; 

当栈内加载了某一类数组,在堆中创建了一定长度的数组对象,而数组arr[]中的每一个元素部分,想要创建新的类对应的对象时,都存储的是类的地址值,它的地址值,指向的是堆中新开辟的内存下对应的对象。

新的问题:

数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少 

数组可以存基本数据类型,也可以存放引用数据类型的数据;但集合能存引用类型数据,在存基本数据类型的时候,它会自动装箱。(对比Integer类型)

数组与集合的应用问题:

数组长度虽然是固定的,但不能自动增长。而集合长度是可变的,那么为什么直接用集合呢?

答: 集合在使用过程,通过对原数组的元素进行拷贝到新数组,而原数组变成了垃圾;如果元素个数又超过此数组,则会再执行一次上述过程,如此往复,会造成许多垃圾。

集合体系框架:

原文地址:https://www.cnblogs.com/fjwjw/p/9888659.html