java泛型 泛型泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型 泛型也可以看成是一个变量,用来接收数据类型 泛型的标记一般用什么字母都行,但有一定的习惯: E e : Element 元素 T t: Type 类型 一个实例创建集合对象,使用泛型 好处: 避免了类型转换的麻烦,存储的是什么类型,取出的就是什么类型 把运行期的异常(代码运行之后会抛出的异常),提升到了编译器( 2020-08-29 Java #编程语言
java日期与时间 Date类 java.util.Date: 表示日期和时间的类 类Date表示特定的瞬间,精确到毫秒 毫秒:千分之一秒 1000毫秒=1秒 getTime() long getTime() 把日期转换为毫秒值(相当于System.currentTimeMillis()方法) 返回子1970年1月1日00:00:00 GMT以来此Date对象表示的毫秒数 DateFormat类 jav 2020-08-29 Java #编程语言
堆和堆排序_c语言 堆Heap 必须是完全二叉树 父节点大于两个子节点任意一个 (一般大顶堆) 堆的结构:父节点和两个子节点的最值存在于父节点,然后叔叔节点和父节点和爷爷节点的最值存在于爷爷节点处,由于这个特殊的构造,可以很方便地获得最值,大顶堆方便获取最大值,小顶堆方便获取最小值。 当堆中的某一个元素变更时,可以快速通过下沉的或者上浮的方式来重新形成堆,当堆顶元素变更时,它只有一个方向:下沉。每次堆顶与最后一个元 2020-08-25 数据结构 #数据结构与算法
java实现的堆排序 堆的概念Heap: 必须是一个完全二叉树 满足parent > children,每个结点都是 堆排序 完成堆排序,首先使得该序列满足堆的特征,首先heapify,使之成为堆,然后每次拿出堆顶的最大元素放于堆末尾与堆末尾交换,堆末尾的元素然后不加入下次最大值的选取。然后堆顶元素heapify,构建堆,堆顶又得出了最大值,类似于选择排序,但是比较的次数比选择排序要少很多,大批量的数据的时 2020-08-25 算法 #数据结构与算法
基于java的排序详解 前言 假定待排序的元素是引用类型,为了便于比较,以及比较逻辑和排序代码的混杂,待排序的元素需要实现java的Comparable接口,该接口有compareTo方法,用其来判断两个元素的大小关系。 less()和swap() 负责比较和交换,这样做是把这两个关键步骤抽离,方便维护,易读 排序算法的成本是比较和交换的次数 12345678910111213public abstract class 2020-08-24 算法 #数据结构与算法
Comparable和Comparator接口 Comparable/Comparator12345package java.lang;public interface Comparable<T> { int compareTo(T var1);} 123456789package java.util;public interface Comparator<T> { 2020-08-24 Java #编程语言
手写正则表达式匹配 题目 请实现一个函数用来匹配包括’.’和’*‘的正则表达式。模式中的字符’.’表示任意一个字符,而’*‘表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”abaca”匹配,但是与”aa.a”和”ab*a”均不匹配 搜索-穷举所有可能匹配12345678910111213141516171819202122232 2020-08-22 算法 #数据结构与算法
约瑟夫环问题 题目描述 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每次喊到m-1的那个小朋友要出列唱首歌,然后可以在礼品箱中任意的挑选礼物,并且不再回到圈中,从他的下一个小朋友开始,继续0…m-1报数….这样下去….直到剩下最 2020-08-22 算法 #数据结构与算法
StringBuilder&StringBuffer 1234567891011public class Main1 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.append(1).append(2).append(3).append(4).append(5); 2020-08-20 Java #编程语言