一、常用集合
1、HashMap
实现原理:
https://juejin.im/post/5c1c79b16fb9a049a711c97c
线程不安全:
https://blog.csdn.net/swpu_ocean/article/details/88917958
java8中红黑树的实现
https://www.cnblogs.com/finite/p/8251587.html
2、TreeMap
实现原理:
https://www.jianshu.com/p/94acb78a8a4f
二、并发容器
https://www.cnblogs.com/klbc/p/9799672.html
1、ConcurrentHashMap
工作原理:
https://www.jianshu.com/p/d10256f0ebea
https://blog.csdn.net/qq_39662660/article/details/91898047
2、CopyOnWriteArrayList (复制数组,volidate, ReentrentLock)
https://blog.csdn.net/u010002184/article/details/90452918
三、数据结构
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
1、二叉树
在线演示:
https://www.cs.usfca.edu/~galles/visualization/BST.html
二叉树介绍:
https://blog.csdn.net/lipinganq/article/details/78871683
二叉树的java实现
https://www.cnblogs.com/rainple/p/9970760.html
二叉树的遍历方式
https://www.cnblogs.com/songwenjie/p/8955856.html#%E9%9D%9E%E9%80%92%E5%BD%92%E6%96%B9%E5%BC%8F%E5%AE%9E%E7%8E%B0%E5%90%8E%E5%BA%8F%E9%81%8D%E5%8E%86%E4%B8%80
https://www.jianshu.com/p/f5f1b271b179
遍历图解:
https://www.jianshu.com/p/55763ece5de5
深度遍历和广度遍历
https://www.jb51.net/article/138495.htm
前序遍历(根-左-右),优先遍历左边节点,在遍历右节点
中序遍历(左-根-右),从最左开始,到父节点,再到右节点
后序遍历(左-右-根),最后找根节点
二叉树的层次(最大/最小)深度
https://www.cnblogs.com/LcMiho/p/10113516.html
二叉树子节点数
https://blog.csdn.net/cherrybomb1111/article/details/78060438
2、红黑树
在线演示:
https://www.cs.usfca.edu/~galles/visualization/RedBlack.html
3、BTree (B+Tree)
https://blog.csdn.net/u013967628/article/details/84305511
https://www.cnblogs.com/dongguacai/p/7241860.html
https://www.jianshu.com/p/ac12d2c83708
https://blog.csdn.net/Double2hao/article/details/87435053