![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
M_youj
这个作者很懒,什么都没留下…
展开
-
java xml解析
DOM解析 DOM解析方式,将所有的xml文件内容加载到内存中 优点:获取数据简单 缺点:文件大时占用大量内存 常用类和方法 javax.xml.parsers.DocumentBuilderFactory static DocumentBuilderFactory newInstance() 新建一个DocumentBuilderFactory实例 DocumentBuilder newDocumentBuilder() 创建一个DocumentBuilder实例 javax.xml.parsers.Do原创 2020-07-14 00:27:46 · 218 阅读 · 0 评论 -
Java复习
枚举 枚举基本设置 public class TestMB { public static void main(String[] args) { Week day = Week.Tue; System.out.println(day); // Tue // ordinal() 获取下标值,改变位置会受影响 System.out.println(day.ordinal()); // 2 System.out.printl原创 2020-07-01 00:25:16 · 180 阅读 · 0 评论 -
BigInteger源码学习
主要是String转int[] /** * Translates the String representation of a BigInteger in the * specified radix into a BigInteger. The String representation * consists of an optional minus or plus sign followed by a * sequence of one or more digits in the specifi原创 2020-06-30 23:36:01 · 669 阅读 · 0 评论 -
队列的实现和原理
普通队列 队列是一种先进先出(FIFO)的数据结构 每次出队都从head中获取第一个,每次入队都是添加在tail的后面。 队列可以使用动态数组和链表来实现 import java.util.ArrayList; import java.util.List; public class Queue<E> { private List<E> list; pu...原创 2019-10-27 00:05:39 · 734 阅读 · 0 评论 -
双向链表的实现和原理
双向链表 双向链表与链表的区别在于,双向链表有指向前一个节点的指针,可以获取到前一个节点。 获取值的时候,可以判断index下标所在的位置,从而决定从首节点开始查找还是从尾节点开始查找 public class LinkedList<E> { private static final int ELEMENT_NOT_FOUNT = -1; private int s...原创 2019-10-20 21:45:16 · 225 阅读 · 0 评论 -
ArrayList动态数组的实现原理
数组在内存中,是一串连续的内存,针对查找某个下标的元素的情况,时间复杂度为O(1) 但是数组在创建时,就要确定需要申请多少内存,保存的元素数量有限。 动态数组的原理就是当数组的元素达到容量上限是,重新申请一片更大的内存,将原来的数组元素迁移到新的地址空间上。 动态数组通过扩容的形式,使数组的容量不受限制。 public class ArrayList<E> { private...原创 2019-10-20 16:39:22 · 478 阅读 · 0 评论 -
单链表的原理与实现
单链表在内存中不像数组那样,拥有连续的内存空间,内存空间是碎片化的 单链表主要是在每个节点中保存下一个节点的内存地址,便于获取下一个节点的内容 添加的时候,直接找到要添加的位置的前一个节点,然后将引用指向要添加的内容 例如在下标为1的位置添加一个59 只需要找到下标为0的位置的节点,将该节点的下一个引用指向新的节点,然后新的节点的下一个引用指向原来下标为1的节点。 不需要像动态数组那样,将后面...原创 2019-10-19 22:59:18 · 650 阅读 · 0 评论