浅析java集合
2015-10-28 16:26
441 查看
Colection单例集合是众多java集合的根接口,全部集合都是实现了该接口
一、List 集合
实现该接口的特点:有序性,可重复性
1.ArrayList
底层使用object数组实现,查询速度快(内存地址连续),增删慢(每次此类操作都要复制到另一个数组)
3.Vector
原理与ArrayList一致,且是线程安全的,操作效率低
存储原理:
往hashSet添加元素的时候,首先调用元素的hashCode方法得到元素的哈希马值,然后对哈希码值通过运算算出其在哈希表的位置。
当算出的位置目前没有任何元素,可将新值添加进去
当算出的位置已存在其他元素,则调用equals方法(可以重写)与该位置的元素进行比较,当返回false时可以添加
存储原理:往其添加元素时
若元素具备自然顺序的特点,按自然顺讯进行排序存储
若元素不具备自然顺序的特点,则元素所属的类必须实现Comparable接口,比较规则定义在CompareTo方法
若都没有,则在创建时比如传入Comparater(比较器)对象 ,即实现Comparator接口
2.TreeMap
底层使用红黑树数据结构实现
一、List 集合
实现该接口的特点:有序性,可重复性 1.ArrayList
底层使用object数组实现,查询速度快(内存地址连续),增删慢(每次此类操作都要复制到另一个数组)2.LinkedList
底层使用链表数据结构,查询速度慢(一个接一个的存储),增删快(快速定位) 3.Vector
原理与ArrayList一致,且是线程安全的,操作效率低二、Set 集合
实现该接口的特点:无序,不可重复1.HashSet
底层是使用hash表(实际上就是一张表)实现,存储速度快存储原理:
往hashSet添加元素的时候,首先调用元素的hashCode方法得到元素的哈希马值,然后对哈希码值通过运算算出其在哈希表的位置。
当算出的位置目前没有任何元素,可将新值添加进去
当算出的位置已存在其他元素,则调用equals方法(可以重写)与该位置的元素进行比较,当返回false时可以添加
2.TreeSet
底层是使用红黑树(二叉树)数据结构实现,排序存储存储原理:往其添加元素时
若元素具备自然顺序的特点,按自然顺讯进行排序存储
若元素不具备自然顺序的特点,则元素所属的类必须实现Comparable接口,比较规则定义在CompareTo方法
若都没有,则在创建时比如传入Comparater(比较器)对象 ,即实现Comparator接口
三、Map 集合
键值的存储形式,键不可重复,值可以1.HashMap
底层使用hash表实现 2.TreeMap
底层使用红黑树数据结构实现
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统