Java常用集合
记录leetcode编程时常用的集合类
ArrayList
描述:可以动态增长与缩减的索引序列。
适用场合:由于依据动态数组的实现,该类适用于尾部插入删除与索引查找,同时在数据量比较大的时候,空间开销相对于LinkedList会小很多。
LinkedList
描述:可以在任何位置进行高效插入与删除操作的有序序列。
适用场合:依据双向链表实现,该类适用于插入与删除操作,以及首尾的查找。
HashSet
描述:没有重复元素的无序集合。
适用场合:依据链表数组来实现,即构建一个数组,数组中的每一个元素都是链表的头结点。
HashMap
描述:存储键/值关联的数据结构。(类似于Python中的dict)
适用场合:依据链表数组实现,在链表长度为8时,转化为红黑树来提升效率。