黑马程序员————集合框架小结(第一篇)
来源:互联网 发布:python汉字的utf8编码 编辑:程序博客网 时间:2024/06/07 01:34
------- android培训、java培训、期待与您交流! ----------
1,集合是一个容器。用来存储对象。
和数组的区别:存储的类型不同:数组可以存储基本数据类型和对象,集合只能存储对象。
长度不同:数组的长度是固定的,集合的长度是可变的
存储类型是否统一:数组只能存储相同类型的元素,集合可以存储不同类型的元素。
2,每个集合都是一个容器,这些容器都有自己存储数据的方式,称之为数据结构,
将这些集合共性的部分不断向上抽取,形成一个体系,就是集合框架。
3,集合框架的构成及其特点:
Collection
|-List: 元素是有序的,元素可以重复,因为该集合体系有索引。
|-ArrayList: 底层数据结构是数组。特点:查询速度快,但是增删稍慢,线程不同步。
|-LinkedList: 底层数据结构是链表。特点:查询速度慢,但增删很快,线程不同步。
|-Vector: 底层数据结构也是数组,
和ArrayList的区别:
Vector在jdk1.0出现,ArrayList在jdk1.2才开始出现。
Vector是线程同步的,ArrayList是线程不同步的。
Vector的效率低,ArrayList的效率高。后来被ArrayList替代了。
ps: List集合判断元素是否相同,底层自动调用的是元素的equals方法。
|-Set: 元素是无序的(元素存入和取出的顺序可能不同),元素不可以重复。
|-HashSet: 底层数据结构是哈希表。特点:是线程不同步的。
保证元素唯一性的依据:通过元素的两个方法hashCode和equals决定的。
如果元素的hashCode值相同,才判断equals是否为true
如果元素的hashCode值不同,则不调用equals
|-TreeSet: 底层数据结构是二叉树。特点:可以对Set集合进行排序。
保证元素唯一性的依据:compareTo方法return0
它的两种排序方式:
一是让元素自身具备比较性,元素实现Comparebale接口,复写compareTo方法。一定注意次要条件的比较。
二是让集合自身具备比较性,定义比较器,将比较器对象作为参数传递给TreeSet的构造函数。
Map: 该集合存储的是键值对,一对一对往里存,而且要保证键的唯一性。
|-Hashtable: 底层数据结构是哈希表,不允许存入null键和null值,该集合线程是同步的,jdk1.0出现,效率低。
|-HashMap: 底层数据结构也是哈希表,允许使用null键null值,线程不同步,jdk1.2出现,效率高。替代了Hashtable
|-TreeMap: 底层数据结构是二叉树,线程不同步,用于给Map集合的键进行排序。ps: Map集合取出元素的方式:keySet和entrySet,原理是将Map集合转成Set集合,通过迭代器取出。
集合和数组工具类;主要是掌握它们的方法,多看api文档。
|-Collections:
|-Arrays:
------- android培训、java培训、期待与您交流! ----------
0 0
- 黑马程序员————集合框架小结(第一篇)
- 黑马程序员—集合框架小结
- 黑马程序员 —— JavaAPI_集合框架 (第十四天)
- 黑马程序员——第九天(集合框架)
- 黑马程序员——Java基础之集合框架小结
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员—集合框架
- 黑马程序员-----集合框架知识小节1(第一篇)
- 黑马程序员—集合框架(1)
- 黑马程序员—集合框架(2)
- 黑马程序员——第16天上——(API)集合框架(Map集合)
- 黑马程序员——集合复习小结
- 黑马程序员——集合小结
- 黑马程序员——第15天——(API)集合框架(TreeSet,泛型)
- 黑马程序员_Java基础——集合框架(上)(第3篇)
- 向量X的归一化及其Matlab简单示例
- STM32 AT 和 GPRS/GSM之间的关系梳理
- Swift视频教程:Swift入门教程
- asp.net mvc4
- const and not const
- 黑马程序员————集合框架小结(第一篇)
- 远程登陆cisco防火墙
- GNU介绍
- svn操作说明
- SLF4J全拼
- 获取Storyboard中单独的控制器
- [转]android中的通信机制总结
- springMVC 拦截器简单配置
- jQuery上传插件Uploadify 3.2使用