
Java基础
ManaphyChen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构与算法(七) - 哈希表
第八章 哈希表 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 代码实现 根据以前的单向链表编写一个哈希链表 public class HashTableList<K, V> { Node<K, V> head; public void put(K key, V value)原创 2020-11-12 14:04:11 · 310 阅读 · 0 评论 -
数据结构与算法(六) - 查找算法
七、 查找算法 7.1 查找算法介绍 在 java 中,我们常用的查找有四种: 顺序(线性)查找 二分查找/折半查找 插值查找 斐波那契查找 7.2 线性查找算法 public class SearchAlgorithm { public static void main(String[] args) { int[] arr = {1, 8, 10, 89, 1000, 1234}; int index = linearSearch(arr, 10);原创 2020-11-12 14:03:24 · 239 阅读 · 0 评论 -
数据结构与算法(四) - 递归
五、递归 5.1 递归的概念 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 5.2 递归能解决什么样的问题 各种数学问题如: 8 皇后问题 , 汉诺塔, 阶乘问题, 迷宫问题, 球和篮子的问题(google 编程大赛) 各种算法中也会使用到递归,比如快排,归并排序,二分查找,分治算法等. 将用栈解决的问题→递归代码比较简洁 5.3 递归需要遵守的重要规则 执行一个方法时,就创建一个新的受保护的独立空间原创 2020-11-12 14:01:31 · 285 阅读 · 0 评论 -
数据结构与算法(三) - 栈
四、栈 4.1 栈的介绍 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。 根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除 出栈(pop)和入栈(push)的概念 4.2 栈的应用场景原创 2020-11-12 14:00:25 · 232 阅读 · 0 评论 -
数据结构与算法(二) - 链表
三、链表 3.1 链表(Linked List)介绍 链表是有序的列表,但是它在内存中是存储如下 单链表(带头结点) 逻辑结构示意图如下 3.2 单链表的应用实例 使用带 head 头的单向链表实现人物的增删改查 定义节点 public class Node { public int id; public String name; public Node next; // 指向下一个节点 public Node(int id, String name) {原创 2020-11-12 13:57:24 · 150 阅读 · 0 评论 -
数据结构与算法(一) - 概述、稀疏数组和队列
一、数据结构和算法概述 1.1 数据结构和算法的关系 数据 data 结构(structure)是一门研究组织数据方式的学科,有了编程语言也就有了数据结构。学好数据结构可以编写出更加漂亮,更加有效率的代码。 要学习好数据结构就要多多考虑如何将生活中遇到的问题,用程序去实现解决。 程序 = 数据结构 + 算法 数据结构是算法的基础,换言之,想要学好算法,需要把数据结构学到位。 1.2 线性结构和非线性结构 数据结构包括:线性结构和非线性结构。 1.2.1 线性结构 线性结构作为最常用的数据结构,原创 2020-11-12 13:56:47 · 186 阅读 · 0 评论 -
网络安全之密码学 信息安全/加密算法
文章目录1 常见加密方式1.1 对称加密1.2 Base64 算法1.2.1 算法简介1.2.2 Base64 算法原理1.2.3 base64 构成原则1.3 DES加密和解密1.4 AES加密解密2 加密模式2.1 ECB2.2 CBC3 填充模式3.1 NoPadding3.2 PKCS5Padding3.3 说明3.4 案例4 消息摘要4.1 特点4.2 常见算法4.3 获取字符串消息摘要4.4 获取文件消息摘要4.5 总结5 非对称加密5.1 生成公钥和私钥5.2 私钥加密公钥解密5.3 保存公钥原创 2020-06-04 16:23:04 · 5132 阅读 · 0 评论 -
Common Lang3 各工具类的使用
字符串工具 @Test public void stringUtilsTest() { //缩短到某长度,用...结尾.其实就是(substring(str, 0, max-3) + "...") //public static String abbreviate(String str,int maxWidth) StringUtils.abbreviate("abcdefg", 6);// "abc..." //字符串结尾的后缀是否与你要结尾的后缀匹配,若不匹配则添加后缀原创 2020-06-03 17:43:01 · 709 阅读 · 0 评论 -
Java通过反射的方式输出相关类的内容
导入相关依赖 <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> 使用方式 测试类 pub...原创 2020-04-07 14:19:20 · 243 阅读 · 0 评论 -
JDK8新时间类的使用
新时间类的使用 package data; import org.junit.Test; import java.time.*; import java.time.format.DateTimeFormatter; import java.time.format.FormatStyle; import java.time.temporal.Temporal; import java.time....原创 2019-12-12 09:23:33 · 202 阅读 · 0 评论 -
Java中printf的用法
/** * @author ManaphyChen * @date 2019-05-29 19:24 */ public class Printf { public static void main(String[] args) { int age = 18; String name = "张三"; char c = 'a'; ...原创 2019-09-12 10:33:23 · 674 阅读 · 0 评论 -
Java各种类型之间的互相转换
/** * @author ManaphyChen * @date 2019-05-29 19:19 */ public class TypeConversion { public static void main(String[] args) throws ParseException { // 1.将字符串转换为字符数组 String str = ...原创 2019-09-12 10:25:16 · 1671 阅读 · 1 评论