List使用总结
来源:互联网 发布:唐之语淘宝旗航店旗袍 编辑:程序博客网 时间:2024/04/29 08:29
今天在开发过程中,用到List集合。在使用过程中,获取其中某个对象,并对对象的属性值进行修改,虽然没有将修改后对象add回去,然而list中的该对象值还是修改了。以前没注意过这个问题现在做个总结:
理解1: List属于java集合,Java集合中不能存放基本类型数据,只能存放对象的引用,即对象在内存中的地址,你把某个对象的引用存放到List中,相当于你把某街道某栋楼某房间号(比如说,海淀区上地环岛东金隅嘉华E座2层301)告诉了快递员,快递员会记住这个地址,而这个在地址办公的人或单位走了以后,这个地址还是有效的,然后快递员再来这个地址就会跟新来的办公的人接触,打交道。
深入理解:ArrayList的底层数据结构是数组,它存放的是元素的地址。ArrayList的元素有角标,对元素的操作本质上跟数组的一样。list.add(p)是将Person对象p的地址存入了数组,p一旦被初始化后他的地址就不会改变了,并在内存中开辟一段空间用于存放自己内部的数据。当你修改了p对象内部的内容时,只是修改p内部存放的内容,并没有修改p的地址,list存放的地址也没变,当你从list中读取p的时候,系统会去读取list中存储的指向对象p的那段地址空间里的内容,即p对象修改后的内容。也就是说还是p对象那段内存空间,只是里边的内容变了,所以读取p的时候是修改后的内容。
- List使用总结
- C# List使用总结
- C# List使用总结
- List Control使用总结
- std list 的使用总结
- c++ stl list使用总结
- c++ stl list使用总结
- c++ stl list使用总结
- C++list的使用总结及常用list操作
- Flash中LIST组件使用总结
- Java 中 Vector、ArrayList、List 使用 总结
- stl之二: list使用总结【转】
- vector 、deque、 list的使用总结
- java中List范型使用总结
- Map、list、set方法使用总结
- List总结
- List总结
- list总结
- cocos2dx 2
- javascript获取随机颜色的函数
- UI 模式类之一----数据输入模式
- jena基本使用
- 《经典精彩Lib翻译》系列之libiconv (2)ICONV程序
- List使用总结
- poj 1273
- [Android实例] android 蓝牙开发浅析 [转]
- Http_Status_Codehttp响应状态码
- ACM zoj 1955(四分树实现)
- 可可肉的逻辑题---(九)可可肉的水仙花(上)
- 《经典精彩Lib翻译》系列之libiconv (3)ICONV_OPEN函数
- 深入理解Hadoop集群和网络
- jena实例