
java
野原皮皮虾
这个作者很懒,什么都没留下…
展开
-
工厂模式
什么是工厂模式?工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。看一个披萨的项目:要便于披萨种类的扩展,要便于维护披萨的种类很多(比如 GreekPizz、CheesePizz 等)披萨的制作有 prepare,bake, cut, box完成披萨店订购功能。使用传统的方式来完成:pa.原创 2021-05-30 12:48:47 · 87 阅读 · 0 评论 -
二叉树的排序(递归与非递归实现)
二叉树的排序把第一个数作为根结点,比根结点大的数放右边,比根结点小的数放左边中序排列顺序(左根右):0 3 5 10 10 222前序排列顺序(根左右):10 3 0 5 222 12后续排列顺序(左右根):0 5 3 12 222 10递归实现首先创建结点类用于排序等功能的实现public class Node { private int data; private Node leftNode; private Node rightNode; pub..原创 2021-07-09 21:30:28 · 184 阅读 · 0 评论 -
java快速排序详解
快速排序 private static void quickSortThreeWay(int[] arr, int l, int r) { if (l >= r) { return; } swap(arr, l, (int) (Math.random() * (r - l + 1) + l)); //[l,r]随机参数一个基数放在第一个 int v = arr[l]; int lt = l;原创 2021-07-30 18:51:45 · 85 阅读 · 0 评论 -
力扣全排列(详解)
全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例 2:输入:nums = [0,1]输出:[[0,1],[1,0]]示例 3:输入:nums = [1]输出:[[1]]链接:https://leetcode-cn.com/problems/permutations思路:第一位和原创 2021-07-30 13:49:04 · 1328 阅读 · 0 评论 -
力扣:合并K个升序链表(超简单题解)
合并K个升序链表给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例 1:输入:lists = [[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例 2:输入:lists = []原创 2021-07-30 18:17:57 · 279 阅读 · 0 评论 -
手写ArrayList
定义接口:/** * List是线性结构的接口 * 里面定义了该线性结构的一些通用操作 * 并支持泛型 * 继承自Iterable(可迭代接口) 主要用于遍历数据结构 * 其次还有让我们的类可以被foreach循环使用 * 不是所有的数据结构都可以像我们数组一样通过角标来访问元素 */public interface List<E> extends Iterable<E> { /** * 在线性结构的末尾添加一个元素element *原创 2021-07-30 22:53:53 · 103 阅读 · 0 评论 -
static关键字的作用及执行顺序
static(静态的)当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。static可以用来修饰:属性、方法、代码块、内部类使用static修饰属性:原创 2021-05-30 18:12:23 · 267 阅读 · 0 评论 -
二维数组转稀疏数组
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-05-18 21:33:18 · 122 阅读 · 0 评论 -
单例模式
单例模式的介绍 单例模式(Singleton Pattern)是 Java中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意:1、单例类只能有一个实例。2、单例类必须自己创建自己的唯一实例。3、单例类必须给所有其他对象提供这一实例。一.饿汉式(静态常量)优缺点说明:优点:这种..原创 2021-05-27 00:00:05 · 109 阅读 · 0 评论