
新手学习java语言
敲不响的键盘
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
实现自己的HashMap
通过实现自己的HashMap彻底了解HashMap的底层原理 JDK1.8 HashMap通过数组、链表、红黑树结构实现 了解它的动态扩容、hash算法、存入元素、取出元素的过程 代码简单实现(省去树化,rehash): public interface IMap<K,V> { void put(K k, V v); V get(Object k); ...原创 2020-03-18 22:17:33 · 190 阅读 · 0 评论 -
简单理解ArrayList源码
Java集合框架中ArrayList 1.ArrayList是动态扩容的,每次扩容为原来长度的1.5倍,并且采用的是懒加载策略,当第一次调用add方法时,数组才会扩容为10(默认值) 2.模拟实现 List接口: public interface List<E> { int size(); void add(E e); E get(int index)...原创 2020-03-16 16:38:51 · 235 阅读 · 0 评论 -
闭着眼睛写出三路快排(java)
闭着眼睛写出三路快排(java) 思路:快速排序的核心通过基准值进行比较,小于基准值v的放在左边,大于的放在右边,从而得出基准值的正确位置。 因此,将一段数组(下标范围:[l,r])选出基准值v后(这里默认基准值为第一个元素)用i遍历,分成四个部分,小于它的[l, lt],等于它的[lt+1, i -1],还未遍历到的[i, rt-1],大于它的[rt,r]:如下所示 [l,…lt],[lt+1...原创 2020-02-25 01:56:24 · 282 阅读 · 0 评论 -
二叉树之深度优先遍历与广度优先遍历
通过二叉树的前序和中序遍历确定二叉树:就是找到中序遍历中二叉树的根结点的下标,然后根据左右两子树进行递归 二叉树的深度优先遍历和广度优先遍历:就是利用栈和队列进行存取元素 /* * @Author:Beer * @Date:2019-10-06 * @Description: * 通过二叉树的前序和中序遍历确定二叉树:就是找到中序遍历中二叉树的根结点的下标,然后根据左右两子树进行递归 ...原创 2019-10-07 01:13:48 · 356 阅读 · 0 评论 -
Java中interrupt() interrupted() isInterrupted()辨析
Java中interrupt() interrupted() isInterrupted()辨析: interrupt()是将线程的中断标记设置为true,但不会停止线程。在中断状态下如果线程处于阻塞状态(即调用了sleep(),wait(),join()方法)就会产生一个InterruptedException,并且由于线程处于阻塞状态,所以该中断标记立即清除为false inte...原创 2019-10-03 20:21:22 · 947 阅读 · 0 评论 -
JDK1.8后HashMap源码深度分析
JDK1.8后HashMap源码深度分析: 1.成员变量: 1.1 初始化容量–桶的数量(16):static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 1.2 最大容量:static final int MAXIMUM_CAPACITY = 1 << 30; 1.3 负载因子:static final f...原创 2019-08-29 13:40:40 · 253 阅读 · 0 评论 -
Map关系图
关于HashMap源码的详细分析: 点这里原创 2019-05-09 23:21:12 · 621 阅读 · 0 评论 -
java中数组的基本使用
一、数组 1.数组的基本使用 详细使用参照 Github 上的代码实例 2.数组元素的增加 public class Test { public static void main(String[] args) { int[] arr = new...原创 2019-02-20 17:09:28 · 255 阅读 · 0 评论 -
java语言求101~200之间的质数(素数)
java语言求101~200之间的质数(素数) 这里使用两种方法: 1. 使用带标签的continue 2. 普通方法 public class TestLableContinue { public static void main(String[] args) { int count = 0; outer:for(int i=101; i<200; ...原创 2019-02-13 16:25:04 · 2799 阅读 · 0 评论 -
java数据结构--栈
二、栈 1.栈的定义: 栈又叫LIFO(后进先出)表:是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫作栈的顶(top)。 2.栈的基本操作: push(进栈) pop(出栈) 代码实例 package demo.test; public class MyStack { //栈的底层使用数组存储元素 int[] elements; pub...原创 2019-02-22 17:38:01 · 184 阅读 · 0 评论