Java中有几种常用的数据结构,主要分为Collection和map两个主要接口(接口只提供方法,并不提供实现),而程序中最终使用的数据结构是继承自这些接口的数据结构类。

---

1. Collection: 又有两大类set,list。

- list(相当于普通数组,元素可重复):基本的三类

1 ArrayList: 元素单个,效率高,多用于查询,底层结构数组,有序。

2 LinkedList:元素单个,多用于插入和删除,底层结构双向链表,有序。

3 Vector: 元素单个,线程安全,多用于查询,底层结构数组,有序。

4 Stack:栈,先进后出
   
- set(数学意义上的集合,元素不可重复):

1 HashSet:HashSet的底层实际上是由HashMap实现的。其四个构造函数分别对应相应的HashMap。
  
  2 TreeSet:其中的元素按照升序排列,缺省是按照自然顺序进行排序,意味着TreeSet中的元素要实现Comparable接口,或者有一个自定义的比较器Comparator。底层数据结构红黑树。
  
2.Map(存储键值对,key唯一):

1 HashMap:继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。HashMap 的实现不是同步的,这意味着它不是线程安全的,无序且值不唯一。
   
   2 TresMap:是一个有序的key-value集合,它是通过红黑树实现的。有序,不安全,值也不唯一。
   
   3 ConcurrentHashMap:线程安全的,使用的锁分段技术。

最新文章

  1. 数据结构:基于list实现二元表达式(python版)
  2. PMO是什么?如何与其他部门协作配合提高项目成功率?
  3. knockoutJS学习笔记09:使用mapping插件
  4. XCode4.5.6,iOS6.1下测试 判断当前设备,及其联网状态等; 关于设备插上后XCode检测不出的情况的说明
  5. 分布式缓存Memcached---开篇的话
  6. Unity3D 简单的倒计时
  7. Android 5.x特性概览四
  8. 计算几何----判断空间点是否在一个四面体(tetrahedron)内部
  9. 谈谈android 布局 的优化
  10. 列"xx"不在表Table中
  11. ZOJ 3820 2014ACM/ICPC牡丹江司B称号
  12. VS2013使用技巧汇总
  13. “卷积神经网络(Convolutional Neural Network,CNN)”之问
  14. Thinkpad 小红点飘移的不完美解决办法
  15. Java中的equals和hashCode方法详解
  16. k64 datasheet学习笔记3---Chip Configuration之Analog
  17. PHP 转义
  18. msvc命令行cl编译c程序问题及解决
  19. 面向对象方法的重载(overloading)和覆盖(overriding)。
  20. 简单的MVC与SQL Server Express LocalDB

热门文章

  1. Daily Scrum02 12.14
  2. 用Spring Boot颠覆Java应用开发
  3. ASP.NET全局错误处理和异常日志记录以及IIS配置自定义错误页面
  4. hashmap先按照value从大到小排序,value相等时按照key从小到大排序
  5. VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)
  6. SQLSERVER中返回修改后的数据
  7. 23web app实现上下左右滑动
  8. flv网页播放器播放失败
  9. NVL2 这个函数,
  10. Mlecms 反射型xss && 后台任意文件下载
  11. mac chrome 强制刷新浏览器缓存
  12. 把玩Fedora29操作系统
  13. ssm项目导入activiti依赖后jsp页面el表达式报错
  14. day24_雷神_django项目部署
  15. mysql 清除大数据表单
  16. 加密解密DES之Android、IOS、C#实现
  17. mongodb输错命令后不能删除问题
  18. STL 小白学习(5) stack栈
  19. 解决centos6.5不能识别NTFS格式的移动硬盘或U盘问题
  20. EntityFramework Core