随笔分类 - Java 基础
摘要:File中经常会使用递归方法打印属性结构、统计文件夹下文件个数、子文件夹个数以及文件大小,可以作为递归的应用练习。 递归的写法,百度一搜一大堆,这里我使用对javabean方式封装了一下: package com.xzlf.io; import java.io.File; public class
阅读全文
摘要:HashSet的底层其实就是HashMap,换句话说HashSet就是简化版的HashMap。 直接上代码: package com.xzlf.collection2; import java.util.HashMap; public class MyHashSet<E> { HashMap<E,
阅读全文
摘要:HashMap结构 HashMap的底层是数组+链表,百度百科找了张图: 先写个链表节点的类 package com.xzlf.collection2; public class Node { int hash; Object key; Object value; Node next; } 自定义一
阅读全文
摘要:Node java 中的 LIinkedList 的数据结构是链表,而链表中每一个元素是节点。 我们先定义一下节点: package com.xzlf.collection; public class Node { Node previous; // 上一个节点 Node next; // 下一个节
阅读全文
摘要:为了照顾初学者,我分几分版本发出来 版本一:基础版本 实现对象创建、元素添加、重新toString() 方法 package com.xzlf.collection; /** * 自定义一个ArrayList,体会底层实现原理 * 初始版本 * @author xzlf * * @param <E>
阅读全文
摘要:ArrayList 介绍 打开jdk源码看看官方文档的介绍 粗糙的翻译下大致意思是: List接口的可调整大小的数组实现。实现了所有可选的列表操作,并允许所有元素,包括 null 。除了实现List接口之外,这个类提供了操作数组大小的方法。 ArrayList定义的属性 /** * 默认容量大小10
阅读全文
摘要:什么是递归 我先看下百度百科的解释: 一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的。用递归过程定义的函数,称为递归函数,例如连加、连乘及阶乘等。凡是递归的函数,都是可计算的,即能行的 。 古典递归函数,是一种定义在自然数集合上的函数,它的未知值往往要通过有限次运算回归到已知值
阅读全文
摘要:string stringbuilder stringbuffer三者的区别 从JDK源码看,String、StringBuilder、StringBuffer都是存放在char[] 数组字符串。 简单看下三者的部分源码: String定义属性和构造方法: public final class St
阅读全文
摘要:都0202 了 java 1.8 已经是主流 自动装箱 、拆箱已经很普遍使用了,那么有时候是不是会遇到坑呢? 我们先来看一段代码: public class TestWraperClass { public static void main(String[] args) { Integer a =
阅读全文
摘要:什么是二分法查找 首先,使用二分法查找的前提是:被查找的数组已排好序 具体实现: 假如有一组数为3,12,24,36,55,68,75,88要查给定的值24.可设三个变量front,mid,end分别指向数据的上界,中间和下界,mid=(front+end)/2. 1.开始令front=0(指向3)
阅读全文
摘要:Java 排序算法-冒泡排序及其优化什么是冒泡排序基本写法优化后写法终极版本源码及测试 什么是冒泡排序 这里引用一下百度百科上的定义: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z
阅读全文

浙公网安备 33010602011771号