java中的数据结构 - 南风顾 - 博客园
http://www.cnblogs.com/tingxuelou/p/6686143.html

线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。

Java工具包提供了强大的数据结构。在Java中的数据结构主要包括以下几种接口和类:

1.枚举(Enumeration):枚举(The Enumeration)接口定义了一种从数据结构中取回连续元素的方式。它还是使用在诸如Vector和Properties这些传统类所定义的方法中

2.位集合(BitSet)3.向量(Vector)4.栈(Stack)

5.字典(Dictionary)

6.哈希表(Hashtable)

7.属性(Properties)

以上这些都是传统的集合框架,虽然这些类都非常有用,但是它们缺少一个核心的,统一的主题。由于这个原因,使用Vector类的方式和使用Properties类的方式有着很大不同。

集合框架被设计成要满足以下几个目标。

  • 该框架必须是高性能的。基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的。
  • 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性。
  • 对一个集合的扩展和适应必须是简单的。

为此,整个集合框架就围绕一组标准接口而设计。你可以直接使用这些接口的标准实现,诸如: LinkedList, HashSet, 和 TreeSet等,除此之外你也可以通过这些接口实现自己的集合。

集合框架是一个用来代表和操纵集合的统一架构。所有的集合框架都包含如下内

    

1.list是存储有序的集合,Set是存储无序的集合,存储不重复的数据。

2.sortedset继承于set接口,用来存储有序的集合。

3.map将唯一的键映射到值。

4.map.entry描述在一个map中的一个元素

Set和List的区别:set是无序的集合,list是有序的集合,使用此接口能够精确的控制被个元素插入的位置,能够偶通过索引的位置来精确地访问元素

Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变

List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变

最新文章

  1. Openstack+Kubernetes+Docker微服务实践之路--Kubernetes
  2. Theoretical comparison between the Gini Index and Information Gain criteria
  3. linux 匹配字符串是否为数字
  4. BZOJ1114 : [POI2008]鲁滨逊逃生Rob
  5. oracle分组统计某列逗号隔开数据
  6. 随意一条查询sql转换为查询结果集相应的数目
  7. Active Session History (ASH) Performed An Emergency Flush Messages In The Alert Log
  8. 【JPA】表达条件查询的关键字
  9. C#调用Exe文件的方法及如何判断程序调用的exe已结束
  10. leetCode 26.Remove Duplicates from Sorted Array(删除数组反复点) 解题思路和方法
  11. ZOJ 649 Rescue(优先队列+bfs)
  12. 在 Ubuntu 14.04 中安装 Pepper Flash Player For Chromium
  13. 二.java下使用RabbitMQ实现hello world
  14. metasploit 教程之基本参数和扫描
  15. leetcode python 037 求解数独
  16. 抽取非基本验证到规则文件 - A2D规则引擎
  17. python 数据类型元组与字典内置方法
  18. cdn节点自定义防CC代码在哪里抄
  19. SQL Server 事件探查器和数据库引擎优化顾问
  20. 如何使用jackson美化输出json/xml

热门文章

  1. SpringBoot文件上传
  2. (贪心 区间) 51nod1091 线段的重叠
  3. lucene创建索引的几种方式(一)
  4. Linux下常用的shell操作
  5. 分析JVM GC Dump 工具
  6. 【C#】C#创建自定义Object对象
  7. 面向对象【day07】:析构函数(六)
  8. Java Web之上传文件
  9. Program License Agreement updated/The updated Apple Developer Program License Agreement needs to be reviewed.
  10. ThinkSNS2.5前台getshell+后台任意文件删除