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中数据结构总结的主要内容,如果未能解决你的问题,请参考以下文章
2018-2019-20172329 《Java软件结构与数据结构》第五周学习总结