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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

©   /  2012-7-14 12:54  /  6248 人查看  /  8 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文

List属于java集合,Java集合中不能存放基本类型数据,只能存放对象的引用,即对象在内存中的地址,你把某个对象的引用存放到List中,相当于你把某街道某栋楼某房间号(比如说,海淀区上地环岛东金隅嘉华E座2层301)告诉了快递员,快递员会记住这个地址,而这个在地址办公的人或单位走了以后,这个地址还是有效的,然后快递员再来这个地址就会跟新来的办公的人接触,打交道。
回复 使用道具 举报

RE: list.add(p)是将Person对象p的地址存入了数组

刘煜 发表于 2012-7-14 13:25
是修改后的内容。因为定义数组相当于系统定义了内存里一段连续的地址空间,数组存放的是元素的地址。list.a ...

“list.add(p)是将Person对象p的地址存入了数组”,所有Java集合类都位于java.util包中。与Java数组不同,Java集合中不能存放基本类型数据,而只能存放对象的引用,这里的List是Java集合,可不是数组啊!
回复 使用道具 举报
刘煜 发表于 2012-7-14 14:00
ArrayList 的底层数据结构就是数组啊~~ArrayList存放的也是元素的地址,它也有角标,你操作list本质跟操 ...

哈哈...学习了,谢谢...
ArrayList
(1) 概述:ArrayList底层是用数组实现的,是一个可变数组,是有序的数据结构,可以存放重复的元素。其用法与LinkedList类似。每个ArrayList实例都有一个容量(Capacity),即用于存储元素的数组的大小。这个容量可随着不断添加新元素而自动增加,但是增长算法并没有定义。当需要插入大量元素时,在插入前可以调用ensureCapacity方法来增加ArrayList的容量以提高插入效率
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马