JAVA中数据结构总结

Posted kooker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA中数据结构总结相关的知识,希望对你有一定的参考价值。

本篇文章主要总结一下JAVA中实现的几种数据结构

 技术分享图片技术分享图片

 

简述:

 List<?>:链表结构。通常情况下只会用到ArrayList和LinkedList,Vector和Stack的功能都可以用List进行实现,后面将不再进行介绍。

Queue<?>:队列,只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。

Map<?,?>:用于存放键值对数据,键值对存储在Entry<?, ?>,不能存储重复的key值,相同的key值时,后面的value覆盖前面的value,key值允许为空。

Set<?>:由Map封装实现,结构特性和Map一致,但是只能存储单对象。

 

涉及到的数据结构:

栈:提供压栈(push)和出栈(pop)功能

队列:提供offer和pull的非阻塞方法,put和take的阻塞方法

链表:提供添加、查找、移除、遍历等各种函数

树:红黑树,通常用来做随机查找,取Top N或排序等功能

 

线程安全性

Queue、HashTable、ConcurrentHashMap是线程安全的,其余都是不安全的,后面新开一遍介绍Java的锁,将会深入讲解。

 

时间复杂度

 技术分享图片

未完待续

以上是关于JAVA中数据结构总结的主要内容,如果未能解决你的问题,请参考以下文章

java--集合框架总结1--set总结

2018-2019-20172329 《Java软件结构与数据结构》第五周学习总结

20172328 2018-2019《Java软件结构与数据结构》第八周学习总结

Java输入输出流总结(转载)

简单的java数据类型总结

Java IO基础总结