Java中的数据结构 3.TreeSet
TreeSet使用上总体上与HashSet相同,不同的是TreeSet会对元素进行排序,向TreeSet中添加元素花的时间比HashSet稍长,但TreeSet添加/搜索/修改/删除元素的复杂度是稳定的log(n)
Java中的数据结构 2.HashSet
HashSet是无序的集合,但它可以快速地查找元素
Hash值可以被快速地运算,且Hash值只与对象的状态有关
Java中HashSet是由储存在ArrayList中的一系列LinkedList实现的,每一个LinkedList被称为一个bucket,如果这里有16个bucket(Java中的默认值),而一个元素的Hash值为76268,则它会被储存到12号bucket(76268%16 = 12),如果该Bucket已经储存了元素,则会将它与所有元素比较,如果它是新的,则添加到LinkedList中
Java中的数据结构 1.List
List继承自Collection,与HashSet的区别是List是有序可重复集合,List可以在特定的位置插入、修改、删除元素
Java中的数据结构 0.接口介绍
0. Queue接口
队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。