Java——集合的概述

 * A:集合的由来
 * 数组是容器,集合也是容器
 * 数组的弊端:数组的长度是固定的,当添加的元素超过了数组的长度时,需要对数组重新定义,太麻烦
 * Java内部给我们提供了集合类,可以存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少  
 * 
 * B:数组与集合的区别:
 * ①:数组既可以存储基本数据类型,又可以存储引用数据类型;基本数据类合只能存储引用数据类型(对象):集合中也可以存储基型的数组存储的是值,引用数据类型数组存储的是地址值
 *      集本数据类型(例如:100),但是在存储的时候回自动装箱变成对象;例如,存储100---new Integer(100);这个就是所谓的自动装箱    
 * ②:数组长度是固定的,不能自动增长
 *      集合的长度是可变的,可以根据元素的增加而增长
 * 
 * C: 数组和集合什么时候用?(从内存的角度要遵守这一点)
 *       如果元素个数是固定的,推荐用数组
 *       如果元素个数不是固定的,推荐用集合
 * 例如:一个班有固定不变的80个人 
 * 数组会创建80个单位,将80个给存储进来,每一个位置相当于存储一个元素;在内存里相当于直接开辟了一个连续的80个空间,效率高
 * 部分集合的底层一部分是用数组来实现的,一开始,集合并不会创建一个80的大小的空间,而是创建一个10个大小的空间,然后往里面填,
 * 填满10个空间了之后,集合会自动创建一个1.5倍的数组,也就是原数组的1.5倍,即15个空间大小的数组,然后把原数组的所以元素拷贝到新数组中来,原数组变成垃圾,被抛弃掉;
 * 如果再增长的话,集合又会自动增长1.5倍,即到22个大学空间,原数组又变成了垃圾...
 * 当集合大小增长到80的时候,原来的好几个数组都变成了垃圾,这样的话浪费内存 

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_41264055/article/details/81282245