![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
随笔
文章平均质量分 61
EvilSproutBorn
越把其他人当作神一样的天才,越是掩饰自己的毛病。812
展开
-
2021.2.10随笔
2021.2.10随笔 HashMap(重点!!!背下来) (这块别问,直接全部背下来就对了) (1) hashmap 的底层结构 : 数组 + 链表 + 红黑树 (jdk 1.8) (jdk1.8之前: 没有红黑树, 就是数组 + 单链表) (2)hashmap 底层维护了一个数组 (3)数组默认初始容量 16 , 数组扩容机制: 扩为原来的 2 倍, 默认的加载因子是 0.75 (4)无序 (5)不允许重复的 key: p.hash = key.hash && ( p.key == k原创 2021-02-10 17:02:59 · 100 阅读 · 0 评论 -
2021.2.8随笔
2021.2.8随笔 1.Queue 队列 Queue接口 (1)它是 Collecton 的一个队列子接口(定义了队列的概念) (2)Queue 实现不允许插入 null 元素(LinkedList 除外) // 如果使用 queue 定义的 poll 方法在队列中删除元素 // 如果队列中已经没有元素可以删除,那么会返回一个 null 值作为标记 Deque (1)它是 queue 的一个子接口,它是双端队列子接口 (2)不仅可以作为双端队列使用,还可以充当一个普通队列和栈 (3)不允许存储 null原创 2021-02-08 22:58:20 · 104 阅读 · 0 评论 -
2021.2.7随笔
2021.2.7随笔 给出一颗二叉树,实现前序、中序、后序遍历 // 栈实现前序遍历 public List<E> preOrder() { List<E> list = new ArrayList<>(); // 先创建一个容纳结果的 list 链表 // 创建一个栈用来遍历 LinkedList<Node> stack = new LinkedList<>(); //原创 2021-02-08 22:57:39 · 74 阅读 · 1 评论 -
2021.2.5随笔
2021.2.5随笔 日记: 写的东西仅供参考,有一些写出来是怕自己忘了,怕自己不会。仅供参考! 树(Tree)的概念。 (没几个我感觉重要的知识点,前提是你学过哈,见仁见智) 树(Tree)是 n( n>=0 )个结点的有限集合,没有结点的树称为空树,在任意一颗非空树中: 有且仅有一个特定的称为根(root)的结点 当 n>1 的时,其余结点可分为 m(m>0 )个互不相交的有限集 T1,T2,…, Tm,其中每一个集合 Ti 本身又是一棵树,并且称之为根的子树。 注意:原创 2021-02-06 23:14:22 · 86 阅读 · 0 评论 -
2021.2.4随笔
2021.2.4随笔 日记: SE基础没学会有必要补吗?有必要!不会了要立即解决,这样复习的时候会容易复习! 怎么补?补哪里?要有自己的知识脉络,补细节。 要多练代码!多动手!要学会把一个问题简化抽象,抽象成用一段代码实现! 看视频感觉学会了,看代码都会,写不出来,这是错觉! 所以,必须多动手!多敲多练习! 栈(Stack) 操作受限的线性表:栈, 队列 本质上也是一个线性表(List), 在线性表的基础上进一步做了限定, 只能在一端进行操作(添加/删除) 补充: Stack -->原创 2021-02-06 23:13:51 · 82 阅读 · 0 评论 -
排版之空格的用法
排版之空格的用法 看到一个很有意思的一段话。 「有研究显示,打字的时候不喜欢在中文和英文之间加空格的人,感情路都走得很辛苦,有七成的比例会在 34 岁的时候跟自己不爱的人结婚,而其余三成的人最后只能把遗产留给自己的猫。毕竟爱情跟书写都需要适时地留白。 与大家共勉之。」——[vinta/paranoid-auto-spacing] 我也是简单的应用了一下排版,确实觉得美观了一点,当然我只是简单的应用了其中一点点。 有没有感觉看起来舒服了很多。 引入: 中英文之间需要增加空格 正确:原创 2021-02-04 00:06:53 · 923 阅读 · 0 评论 -
2021.2.3随笔
2021.2.3随笔 // 底层结构 --> 扩容机制/初始容量 --> null,重复,有序 --> 线程安全 --> 横向对比 (记住这个顺序,要有逻辑的描述出来) 逻辑:线性表/树/图/集合 物理:数组/链表 数组:初始容量/扩容 ArrayList 的特点(重点) ArrayList 是 List 的一个具体实现类( List 是 Collection 的线性表子接口) ArrayList 是 List 的一个数组实现( ArrayList 里面必定维护了一个数组) Arr原创 2021-02-04 00:03:00 · 162 阅读 · 3 评论 -
2021.2.2随笔
2021.2.2随笔 代码冗余 个人的理解就是,存在大量的重复代码,编程时不必要的代码段,代码复用性高。 IDEA经常提示的波浪线就是代码相似度很高。 所以大家要写出高质量的代码段,执行效率高,代码量减少。 今天刚注意到一个问题 java.util包和java.lang包的区别 java.lang包是java的核心包,一般程序里面不会引用的,由mvc自动加载的。 java.util可以根据名字看出来,是工具类,就是提供一些辅助的类,以帮助快速的开发。 java中,自动装箱和自动拆箱(仅了原创 2021-02-04 00:02:21 · 209 阅读 · 2 评论 -
2021.2.1随笔
2021.2.1 随笔 随笔高大上的名字,其实就是日记 单链表的操作 手写一个实现基本增删查改功能操作的单链表 public class MyLinked1 { Node top; int size; // 添加 public boolean add(String str) { // 判断链表是否为空 if (top == null || size == 0) { // 代表是一个空链表 top原创 2021-02-04 00:01:53 · 138 阅读 · 0 评论 -
数组与链表
数组与链表 数组的本质是固定大小的连续的内存空间,并且这片连续的内存空间又被分割成等长的小空间。 特点是:连续存储,进一步,主要的特点是随机访问 为什么连续的内存空间又被分割成等长的小空间? (1)数组的长度是固定的 (2)数组只能存储同一种数据类型的元素 注意:在Java中只有一维数组的内存空间是连续,多维数组的内存空间不一定连续。 那么数组又是如何实现随机访问的呢? 寻址公式:i_address = base_address + i * type_length (基础地址+单个单元长度*下标) 为什么数原创 2021-01-31 20:32:38 · 174 阅读 · 1 评论