11 2018 档案
摘要:优先级队列 一、PriorityQueue PriorityQueue是优先级队列,它实现了Queue接口,它的队列长度 没有限制,与一般队列的区别是,它有优先级概念,每个元素都有优先 级,队头的元素永远都是优先级最高的。PriorityQueue内部是用堆实现的。 一、基本用法 主要构造方法: P
阅读全文
摘要:EnumMap & EnumSet 一、EnumMap 一)基本用法 EnumMap是保证顺序的:输出是按照键在枚举中的顺序。 二)实现原理 EnumMap的实例变量: 基本构造方法: 保存键值对的put方法: 二、EnumSet EnumSet的实现与EnumMap没有任何关系,而是用极为精简高效
阅读全文
摘要:TreeMap & TreeSet & LinkedHashMap 一、TreeMap HashMap缺陷:键值对之间没有特定的顺序。在TreeMap中, 键值对之间按键有序,TreeMap的实现基础是排序二叉树。 一)基本用法 构造方法: TreeMap按键的比较结果对键进行重排,即使键实际上不同
阅读全文
摘要:HashMap和HashSet 一)HashMap 1.Map接口 keySet()、values()、entrySet()有一个共同特点,它们返回的都是视图, 不是复制值,基于返回值的修改都会修改Map自身。例如: 2.HashMap 构造方法: 主要实例变量: Entry是一个内部类,构造方法:
阅读全文
摘要:列表和队列 一)ArrayList 1.基本原理 ArrayList是一个泛型容器。内部会有一个数组elementData,一般会有预留空间 有一个整数记录实际的元素个数。 2.迭代 1)foreach: foreach的背后,编译器会把它转换为: 只要对象实现了Iterable接口,就可以使用fo
阅读全文
摘要:泛型 一、基本概念和原理 泛型将接口的概念进一步延申,“泛型”的字面意思是广泛的类型。 类、接口和方法都可以应用于非常广泛的类型,代码与它们能够操作 的数据类型不再绑定到一起,同一套代码可以应用到多种数据类型。 这样,不仅可以复用代码降低耦合,而且可以提高代码的可读性和安全性。 1.泛型类 T表示类
阅读全文
摘要:常用基础类 一)String String内部用一个字符数组表示字符串: 注意:Java9对此做了优化,采用byte[],如果字符都是ASCII字符,它就可以使用一个字节表示一个字符。 String有的两个构造方法,可以根据参数创建String变量: 编码相关: 返回字符串给定编码的字节表示: 根据
阅读全文
摘要:异常 一、概念 一)为什么会有Java异常机制 在没有Java异常机制的情况下,唯一的退出机制就是返回值,判断是否异常的方法就是 返回值。方法根据是否异常返回不同的返回值,调用者根据不同的返回值进行判断。每一 层方法都需要对调用的方法的不同返回值进行检查和处理,程序的正常逻辑和异常逻辑混杂 到一起,
阅读全文
摘要:类 一、类的基础 1.类 一种自定义数据类型。 2.与方法内创建局部变量不同,在创建对象的时候,所有的实例变量都会分配 一个默认值,这与创建数组的时候是类似的。 3.在{}对实例变量内赋值: 在新创建一个对象的时候会先调用这个初始化,然后再执行构造函数。 静态变量可使用static{}初始化: 静态
阅读全文
摘要:编程基础与二进制 一、编程基础 函数调用的基本原理: 函数调用中的问题: 1)参数如何传递? 2)函数如何知道返回什么地方? 3)函数结果如何传递给调用方? 解决思路是使用内存来函数调用过程中需要的数据,这种内存叫做栈。栈是一种先进后出的内存,栈底内存地址最高,栈顶最低。 另外,函数返回值一般使用一
阅读全文
摘要:类与模块 一、类 一)类的声明 自有属性:属性只出现在实例而不是在原型上,而且只能由构造函数和方法来创建。 差异: 1. 类声明和函数定义不同,它们是不会被提升的。类声明的行为和 let 比较相似,所以当执行流作用到类声明之前类会存在于暂存性死区(temporal dead zone) 内。2. 类
阅读全文

浙公网安备 33010602011771号