集合类
来源:互联网 发布:淘宝店铺开通花呗 编辑:程序博客网 时间:2024/05/16 10:34
一.背景介绍:
1.为什么会出现集合类?
为了方便对多个对象进行操作,就对对象进行存储,简而言之,集合就是存储对象常用的一种方式。
2.数组和集合类同是容器有何不同?
数组既可以存储基本数据类型,也可以用于存储对象,但是其长度是固定的;而集合只能用来存储对象且可以存储不同类型的对象,长度也是可变的。
二.集合类关系图:
三.集合框架中的常用接口
Collection接口中有两个子接口:List(列表)以及Set(集)
List:可以存放重复元素,元素的存取是有序的(因为该集合体系中有索引结构)。
Set:不可以存放重复元素,元素的存取是无序的。
1.List接口中常用类
ArrayList:线程不安全,不同步,查询速度快,底层数据结构是数组。
LinkedList:增删速度快,底层数据结构是链表。
Vetor:线程安全,但速度慢,已经被ArrayList替代,底层数据结构同样是数组。
取List中元素的方式:
get(int index): 通过脚标获取元素。
iterator():通过迭代获取迭代器对象。
比如:Iterator it = l.iterator();
while(it.hasNxet()){
System.out.println(it.next());//注意:next()方法返回值为Object类型
}
2.Set接口中常用的类
HashSet:线程不安全,存取速度快,通过equals()以及hashCode()方法来保证数据元素的唯一性。底层数据结构是哈希表。
TreeSet:线程不安全,可以对集合中的元素进行排序,主要通过复写compareTo()或者compare()方法来保证数据元素的唯一性,底层数据结构是二叉树结构。
备注:在此标注一下泛型的出现与使用。
JDK1.5以后开始出现,第一,提高了程序的安全性;第二,将运行期的问题转换到了编译期;第三,省去了类型转换的麻烦;第四,优化了程序设计。
3.Map集合中常用类
Hashtable:线程安全,速度慢,不允许存放null键值,已经被HashMap取代。
HashMap:线程不安全,速度慢,允许存放null键值。
TreeMap:对键进行排序,排序原理与TreeSet类似。
4.集合框架中常用工具类
Collections:常用的有:其一,对集合进行查找;其二,取集合中的最值;第三,对List集合进行排序
Arrays:常用的有:其一,将数组转化为List集合;其二,对数组进行排序;其三,对数组进行二分查找
- Map集合(集合类)
- 集合类 Map集合
- 集合类 List集合 / LinkedList集合
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类...
- 集合类
- 集合类
- 集合类:
- 集合类
- 集合类
- 集合类
- 集合类
- 集合类
- iframe自适应高度和宽度 全css实现无javascript
- 【官方教程】使用Quick-Cocos2d-x搭建一个横版过关游戏(二)
- 将数据库复制到scard
- LeetCode
- dubbo协议下的单一长连接与多线程并发如何协同工作
- 集合类
- EventBus使用记录(一)
- 数组去重
- 5.Javascript语法-循环语句for循环
- 17
- 安卓manifest文件中配置activity时总是出错
- Android -- EventBus使用
- h5+MUI移动APP和普通H5之间的区别有哪些?
- 前端学HTTP之网络基础