摘要:
评估算法优劣的核心指标是什么? 1.时间复杂度(流程决定) 2.额外空间复杂度(流程决定) 3.常数项时间(实现细节决定) 何为常数时间的操作? 如果一个操作的执行时间不以具体样本量为转移,每次执行时间都是固定时间,这样的操作就是常数时间的操作。 例如:①在进行加法运算时,加法所用的时间与相加的两个 阅读全文
摘要:
Vector类特点: 1.Vector也是List接口的一个子类实现 2.Vector跟ArrayList一样,底层都是使用数组进行实现的 Vector与ArrayList的区别: 1.ArrayList是线程不安全的,效率高,Vector是线程安全的,效率低 2.ArrayList在进行扩容的时候 阅读全文
摘要:
List接口中存储的是一组不唯一的,有序的对象 List接口的父接口是Collection接口,所以List接口中大多数方法都是从Collection接口中继承的 List接口有两个实现类: 1.ArrayList实现类:采用数组的数据结构 优点:遍历和随机访问元素的效率比较高 缺点:添加和删除需要 阅读全文
摘要:
Collection接口下有List接口和set接口 特点: 1.可以存放不同类型的数据,而数组只能存放固定类型的数据 2.在使用ArrayList子类实现的时候,初始化的长度是10,当长度不够的时候会自动进行扩容(newlength = oldlength * 1.5) 我们可以看到这里进行了右移 阅读全文
摘要:
枚举:枚举指由一组固定的常量组成的类型 强烈建议当你需要定义一组常量时,使用枚举类型 枚举类的基本用法: 1.创建枚举类 2.枚举类的特点: ①枚举类在定义时使用enum关键字 ②使用enum定义的枚举类默认继承java.lang.Enum ③枚举类中所有实例都必须定义在第一行,默认添加public 阅读全文
摘要:
Math类作为常用类中的一个,一般情况下我们用的不是特别多,除非你是在特殊领域 若要用的话还是查看下api比较靠谱 1 public class MathTest { 2 public static void main(String[] args) { 3 //取绝对值 4 System.out.p 阅读全文
摘要:
一.Date类 1 一些主要的方法: 2 public class DateTest { 3 public static void main(String[] args) throws ParseException { 4 Date date = new Date(); 5 //输出当前时间 6 S 阅读全文
摘要:
可变字符串: StringBuffer:线程安全,效率低 StringBuilder:线程不安全,效率高 二者的api相同,区别就是StringBuffer定义的方法中加入了synchronized关键字 1 public class StringBufferDemo { 2 public stat 阅读全文
摘要:
一.包装类与基本数据类型比较 1 public class IntegerDemo { 2 public static void main(String[] args) { 3 4 int i = 10; 5 Integer ii = 10; 6 System.out.println(i == ii 阅读全文
摘要:
一.包装类 包装类:将基本类型封装到一个类中,包含属性和方法 使用:在使用过程中,会涉及到自动装箱和自动拆箱 装箱:将基本数据类型转换成包装类 拆箱:将包装类转换成基本数据类型 1 public class IntegerDemo { 2 public static void main(String 阅读全文