黑马程序员技术交流社区

标题: 学习阶段总结 [打印本页]

作者: 丶无言的对白    时间: 2017-12-3 23:12
标题: 学习阶段总结
学习阶段总结
一.设计思路:
1.集合的基本概念
2.集合的类型
3.学习经验总结

大家好,我是黑马Java三期的一名学员,经过前一段时间的学习。我来为大家分享一下我的学习经验。

[size=12.0000pt](1).集合的基本概念
第一        顺序存储:指元素在内存中连续的存储在一起,根据第一个元素的地址和每个元素所占的字节很容易计算其他任意位置的元素的地址,进而可以访问钙元素,如数组。这种存储方式优点:利于元素访问。缺点是:增加和删除元素的性能不高。如ArrayList
第二,        链式存储:元素一般由值datanext域构成,元素在内存中不需要连续的空间,通过next即可获得下一个元素地址。优缺点与第一种相反。如LinkList是双向链表。
第三,        散列存储:元素值(具有唯一性)通过一种散列技术决定了对象在内存中的存储位置。如HashSet
第四,映射存储:每个元素由key-value构成,根据key以及相应的散列算法计算元素存储地址。


(2)集合的类型

个人观点:
List:接口,存储的数据是有序的
Set:接口,存储的数据是无序的
ArrayList:数组,轻量级
LinkedList:链表实现,轻量的
(3)个人学习经验总结
ArrayList 可以将它理解成一个可增长的数组,有快速的迭代和快速随机访问的能力,其底层使用数组实现的,查询效率较高,增删慢且是线程不安全的。
LinkedList 中的元素之间是双链接的,当需要快速插入和删除时LinkedList成为List中的不二选择,其底层使用双向循环链表实现,查询效率低,但增删元素效率比较高。
Set关心唯一性,它不允许重复。
HashSet 当不希望集合中有重复值,并且不关心元素之间的顺序时可以使用此类,使用哈希算法实现。
LinkedHashset 当不希望集合中有重复值,并且希望按照元素的插入顺序进行迭代遍历时可采用此类。
Map关心的是唯一的标识符。他将唯一的键映射到某个元素。当然键和值都是对象。


作者: 奥斯托洛夫斯基    时间: 2017-12-8 15:19





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2