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的锁,将会深入讲解。

时间复杂度

 

未完待续

猜你喜欢

转载自www.cnblogs.com/kooker/p/9229935.html