Fork me on GitHub

collection

Java Collection Stack

栈只允许访问一个数据项:即最后插入的数据项。移除这个数据项后才能访问倒数第二个插入的数据项,依此类推。而Stack这个类就是实现这种数据结构的类,也就是说Stack这个类代表着last-in-first-out(LIFO).Stack继承自Vector并且添加了5个方法,然后就可以把它对待成一个栈结构。 push() 添加一个元素入栈. pop() 删除在栈顶的元素,并且返回这个元素 peek() 查看在栈顶的元素,但是并不会把这个元素从栈中移除 empty() 测试...

Java Collection ArrayList

ArrayList是实现List接口的动态数组.实现了所有的list的操作,可以操作所有的元素,包括null值。除了实现List这个接口,ArrayList还提供方法去操作array的长度.这个特性被用来储存这个list.ArrayList和Vector差不多,除了它不是同步的. 在ArrayList中size, isEmpty, get, set, iterator, 和 listIterator这些操作是常数时间复杂度.add操作运行在常数的时间复杂度就是添加n个元...

HashMap实现原理分析

转载地址:HashMap实现原理分析 ####HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。 数组数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:**12345678910111213141516172. **链表**链表存储区间离散,占用内存比较宽松,故空间复杂度很小,但时间复杂度很大,达O(N)。链表的特点是:**```寻址困难,插入和删除容易```**。3...