Java
镇潮
向全栈努力
展开
-
Java 关于List接口中的replaceAll() 方法
想直接用的同学可以直接跳到最后。今天博主在查看List接口中有什么哪些方法时,发现了一个特殊的方法replaceAll()方法。为什么说它特殊呢,因为它传入的参数我是第一次见过,如下default void replaceAll(UnaryOperator<E> operator)对于该方法,Java jdk1.8手册里是这么描述的/** * 用函数接口的...原创 2018-09-26 14:15:23 · 12305 阅读 · 3 评论 -
Java算法(4):归并排序
归并排序1.定义:(1)归并操作:将两个有序的数组归并成一个更大的有序数组。(2)通过递归的进行归并操作就是归并排序。(3)归并排序又分为自顶向下的归并排序和自底向上的归并排序。2.实现归并操作:代码剖析:当我想要将两个有序的数组归并成一个更大的有序数组时。首先,我们需要一个空的辅助数组来达到更好的存取值的效果;接着,比较前一个有序数组的当前元素与后一个有序数...原创 2019-02-12 21:09:34 · 793 阅读 · 0 评论 -
工具类:提取字符串中的数字串(相邻的数字们分开放在一起)
工具类描述:(1)提取字符串中的数字串(2)各个数字串分开存储工具代码:/** * @author Atimynyc * @version 1.0 * @title 字符串处理工具 * @since 2019/1/30 */public class StringUtils { //获得数字串工具类 public static List<Stri...原创 2019-01-30 12:01:53 · 1006 阅读 · 0 评论 -
Java算法(3):希尔排序
希尔排序1.定义:(1)基于插入排序的排序算法(2)原因:对于大规模乱序数组插入排序很慢,因为它只会交换相邻的元素,因此元素只能一点一点地从数组的一端移动到另一端。例如:若值最小的元素正好在数组的尽头,要将它挪到正确的位置就要要进行 数组的长度-1 次移动。(3)希尔排序时先将任意间隔为h的元素都进行插入排序,同时,间隔h是一个递增序列中的一个值,且h按照递增序列递减,即这个h会随...原创 2019-02-06 02:53:27 · 259 阅读 · 0 评论 -
Java算法(2):插入排序
插入排序1.定义:(1)插入排序类似于咱们日常打扑克的时候,通常我们给牌排序时,总是将一张牌插入到其他已经有序的排中的适当位置。(2)由(1)可知,插入排序是通过遍历数组,并将当前元素与前面已经排好序的元素一一比较,获得最佳位置(3)为了给要插入的元素腾出空间,需要将其余所有元素在插入之前都向后移动一位。(4)与选择排序一样,当前索引左边的所有元素都是有序的,但它们的最终位置还...原创 2019-02-03 15:24:28 · 246 阅读 · 0 评论 -
Java算法(1):选择排序
选择排序1.定义:(1)找到数组中最小的那个元素(2)将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换)(3)在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置(4)如此以往,直到将整个数组排序总结,不断地选择剩余元素之中的最小者,并放到剩余元素的第一个位置。 2.代码剖析:假设:数组a,长度n,下标i(1)这个算法每次...原创 2019-02-02 21:39:04 · 252 阅读 · 0 评论 -
Idea中添加jdk的反编译工具javap
jdk自带了反编译工具javap,可以反编译代码,形成类似于汇编的代码,通过反编译代码,我们可以分析程序运行的整体流程,以此分析代码。可以说要是想要优化程序的话,反编译代码这个步骤是肯定要有的。idea可以说是现在很火的一款java开发软件,如何在idea里添加jdk的反编译工具javap呢,下面详情:(1)打开External Tools配置框:File -> Settings...原创 2018-11-15 17:59:43 · 9586 阅读 · 4 评论 -
工具类:判断Java Bean对象所有属性是否为空
最近博主有一个项目,需要判断一个JavaBean中的对象属性是否都为null一开始,博主以为直接用if(Bean == null) 来判断(傻了)当一个Bean类创建了一个对象,不管那个对象里面有没有只,它肯定不是为空的!那么,如何判断这个对象里面每个属性的值都为null呢?下面po出代码,大家直接copy就行。import lombok.extern.slf4j.Slf4j;...原创 2018-10-30 14:16:38 · 20595 阅读 · 7 评论 -
2.Spring学习笔记之 ————IoC(控制反转)
控制反转(IoC),是Spring里一个专有的名词,其意思就是说,对象的实例由Spring容器来进行创建而不是我们自己手动创建,当我们在Spring容器中设定好Bean属性后,Spring容器就会自动创建其实例,我们只要去调用Spring的Bean就行。接下来是例子:首先,我们创建一个接口和一个接口的实现类public interface UserDao { public ...原创 2018-10-24 19:36:05 · 290 阅读 · 0 评论 -
一、Java容器:List接口的使用
最近博主一直被Java的各个容器的使用搞得很烦,每次都要去搜一下怎么使用,于是博主就想自己把所有的Java容器的用法总结起来,写成博客,之后方便使用,也可以方便大家使用。Java8新加的几个方法可以直接跳到后面编号21处。这一章主要介绍List接口中的各个方法的使用,同时也会介绍Lsit在Java8中更新的几个方法的意思和以及如何使用。1.List对象的创建list是一个接口,其下...原创 2018-09-27 14:47:39 · 834 阅读 · 1 评论 -
工具类:自动生成名字工具类
public class CharUtil { /** * 将字符串转换成相应的字符编码 * @param s * @return */ public static String bytes2HexString(String s) { byte[] b = s.getBytes(); s = ""; ...原创 2018-09-26 17:08:22 · 2380 阅读 · 0 评论 -
Java 关于List接口中sort()方法的使用
直接进入正题sort,顾名思义,排列的意思List接口中,sort方法时这样定义的:default void sort(Comparator<? super E> c) { Object[] a = this.toArray(); Arrays.sort(a, (Comparator) c); ListIterator<...原创 2018-09-26 16:01:11 · 18588 阅读 · 0 评论 -
Java算法(5):快速排序
快速排序1.定义:(1)快速排序是一种分治的排序算法,它将一个数组分成两个子数组,将两部分独立地排序。(2)快速排序和归并排序时互补的:归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序将数组排序的方式则是当两个子数组都有序时整个数组也就自然有序了。(3)归并排序时,递归调用发生在处理整个数组之前;快速排序时,递归调用发生在处理整个数组之后。...原创 2019-02-28 17:27:10 · 380 阅读 · 0 评论