java基础的小细节2-集合框架
来源:互联网 发布:sql 恢复删除数据 编辑:程序博客网 时间:2024/06/03 16:41
List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引。元素可以重复。
ArrayList:底层的数据结构是数组,线程不同步,ArrayList替代了Vector,查询元素的速度非常快。
LinkedList:底层的数据结构是链表,线程不同步,增删元素的速度非常快Vector:底层的数据结构就是数组,线程同步的,Vector无论查询和增删都巨慢。
可变长度数组的原理:
当元素超出数组长度,会产生一个新数组,将原数组的数据复制到新数组中,再将新的元素添加到新数组中。
ArrayList:是按照原数组的50%延长。构造一个初始容量为 10 的空列表。
Vector:是按照原数组的100%延长。
Set接口中的方法和Collection中方法一致的。Set接口取出方式只有一种,
迭代器。
--HashSet:底层数据结构是哈希表,线程是不同步的。无序,高效;
HashSet集合保证元素唯一性:通过元素的hashCode方法,和equals方法完成的。当元素的hashCode值相同时,才继续判断元素的equals是否为true。如果为true,那么视为相同元素,不存。如果为false,那么存储。
如果hashCode值不同,那么不判断equals,从而提高对象比较的速度。
LinkedHashSet:有序,hashset的子类。
TreeSet:对Set集合中的元素的进行指定顺序的排序。不同步。TreeSet底层的数据结构就是二叉树。
对于ArrayList集合,判断元素是否存在,或者删元素底层依据都是equals方法。
对于HashSet集合,判断元素是否存在,或者删除元素,底层依据的是hashCode方法和equals方法。
Map集合:
Hashtable:底层是哈希表数据结构,是线程同步的。不可以存储null键,null值。
HashMap:底层是哈希表数据结构,是线程不同步的。可以存储null键,null值。替代了Hashtable.
TreeMap:底层是二叉树结构,可以对map集合中的键进行指定顺序的排序。
Map集合存储和Collection有着很大不同:
Collection一次存一个元素;Map一次存一对元素。
Collection是单列集合;Map是双列集合。
Map中的存储的一对元素:一个是键,一个是值,键与值之间有对应(映射)关系。
特点:要保证map集合中键的唯一性。
- java基础的小细节2-集合框架
- java基础的一点小细节
- java基础,,,,,java集合框架的了解
- Java集合框架基础
- java基础:集合框架
- Java基础:集合框架
- Java基础-->集合框架
- Java基础--集合框架
- Java基础:集合框架
- java基础:集合框架
- 集合框架(java基础)
- java集合框架基础
- java基础-集合框架
- Java基础-集合框架
- Java基础:集合框架
- Java基础:集合框架
- Java基础--集合框架
- JAVA基础,集合框架
- Java面试相关
- Android校招准备复习干货
- Java开发者易犯错误Top10
- 大数据Spark03_集群环境搭建及任务提交的方式
- Netty4实战第十六章:注销/注册EventLoop
- java基础的小细节2-集合框架
- 换用Laravel后,PHP进行纯文本书写时,丢失换行符的问题
- 一起Talk Android吧(第四十六回:Android中的Fragment十一)
- 数据结构之 栈stack 模板类(链表表示)
- 进程地址空间分布和可执行文件分布
- 大型网站的灵魂——性能
- UDP与TCP穿洞技术学习笔记
- 2311: [CEOI2016]D2T3 Router
- 读书笔记2 MYSQL必知必会