数据结构
Allen-Han
talk is cheap
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
总结:HashMap的写入和读取步骤分…
写入: put(K key, V value): (1)、判断key是否为空:为空,把Value存入table[0]的位置;不为空,转向(2) (2)、把key值hash,得到此hash结果在map中的位置i (3)、查看当前map中位置i是否已经存在对象:存在,转向(4);不存在,转向(5) (4)、遍历这些已经存在的对象,看是否存在相同的key值:存在,用Value替换OldV原创 2016-10-19 14:56:26 · 2200 阅读 · 0 评论 -
ArrayList原理
add: (1)、先确保当前size+1空间没问题,有问题的话先扩容 (2)、add(E e)将最新的数据放在末尾,add(index,e)在数组中插入数据(关于效率,相同长度的ArrayList和LinkedList,在前半部分插入数据LinkedList占优,在后半部分插入ArrayList占优,以为LinkedList的检索会占用较长时间) remove: 删除中间一个后,后面的原创 2016-10-19 14:56:29 · 269 阅读 · 0 评论 -
ConcurrentHashMap的优点以及实现…
相信每个JAVA程序员都了解HashMap,最大的问题是线程不安全,因为方法中不涉及到同步,也正因为如此,HashMap的效率非常高,在不涉及线程安全的程序中广泛被应用。然而当涉及到多线程作业时,就会出现一些问题。为了解决这些问题JAVA提供了Hashtable,这是一种整体加锁的数据结构,然而效率不敢恭维。这时候就有了ConcurrentHashMap。 一个例子说明三者关系: 前提:某个卫原创 2016-10-19 14:57:23 · 5114 阅读 · 0 评论 -
java链表实现队列
链表实现队列,好处是可以动态增长。 上代码: 1)、实现队列的一个节点: private class Node { public T data; //节点的值 public Node next; //指向下一个节点 public Node(T data, Node next) { this.data = data; this.next = next; } } 2)、队列构造器: publ原创 2016-10-19 14:57:51 · 400 阅读 · 0 评论
分享