Map 1. 用于关联 key 和 value 的对象,其中 key 与 key 之间不能重复. 2. 是一个接口,用来代替 Java 早期版本中的 Dictionary 抽象类. 3. 提供三种不同的视图用于观察内部数据,key 的 Set 视图.value 的 Collection 视图,key-value 关联对象的 Set 视图. 4. 有些实现会保证元素的顺序,例如 TreeMap.有些则不会保证,例如 HashMap 5. 如果 key 是可变对象,需要小心处理 6. key 值指向…
简单地画了下 LinkedList 的继承关系,如下图.只是画了关注的部分,并不是完整的关系图.本博文涉及的是 Queue, Deque, LinkedList 的源代码阅读笔记.关于 List 接口的笔记,可以参考上一篇博文 List / ArrayList - 源代码学习笔记 Queue 1. 继承 Collection 接口,并提供了额外的插入.提取和查看元素的方法.新增的方法都有两种形式:当操作失败时,抛出异常或者返回一个特殊值.特殊值可以是 null 或者 false ,这取决于方法本…
在阅读 List / ArrayList 源代码过程中,做了下面的笔记. LinkedList 的笔记较多,放到了另一篇博文 LinkedList / Queue- 源代码学习笔记 List List 是一个接口,继承自 Collection 接口.接口是对功能的定义,没有具体实现.List 接口有以下几个特点 1. 可以存在重复的元素.这点和 Set 是不一样的,Set 接口不允许重复的元素出现. 2. 有四个根据下标访问的方法 : get(int), set(int, E), add(int…
    HashMap的底层主要是基于数组和链表来实现的,它之所以有相当快的查询速度主要是由于它是通过计算散列码来决定存储的位置. HashMap中主要是通过key的hashCode来计算hash值的.仅仅要hashCode同样.计算出来的hash值就一样.假设存储的对象对多了,就有可能不同的对象所算出来的hash值是同样的,这就出现了所谓的hash冲突. 学过数据结构的同学都知道.解决hash冲突的方法有非常多,HashMap底层是通过链表来解决hash冲突的.     HashMap事实上就…
Java后端高频知识点学习笔记1---Java基础 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819297 1.重载和重写的区别 重载:同一类中多个同名方法根据不同的传参来执行不同的处理逻辑:方法名必须相同,参数类型不同.个数不同.顺序不同:返回值类型可以相同也可以不同(因为返回值类型不是方法签名的一部分) 重写:子类对父类的方法的实现过程进行重新编写.方法名,参数列表和返回值类型都不能改变.抛出的异常范围小于等于父类,访问修饰符范围大于等于父类.…
上次写JAVA的反射机制学习笔记(一)的时候,还是7月22号,这些天就瞎忙活了.自己的步伐全然被打乱了~不能继续被动下去.得又一次找到自己的节奏. 4.获取类的Constructor 通过反射机制得到某个类的构造器,然后调用该构造器创建该类的一个实例 Class<T>类提供了几个方法获取类的构造器. public Constructor<T> getConstructor(Class<? >... parameterTypes) 返回一个 Constructor 对象,…
jQuery源代码学习笔记_工具函数_noop/error/now/trim jquery提供了一系列的工具函数,用于支持其运行,今天主要分析noop/error/now/trim这4个函数: 1.noop //返回一个空函数 function noop() { } noop这个函数的功能就是什么也不做,方便在全局使用一个空函数,减少内存开销. 2.error function error(msg) { throw new Error(msg); } 用于统一抛出异常,可以减少代码中使用thro…
import java.util.HashMap ; import java.util.Map ; import java.util.Set ; import java.util.Iterator ; public class ForeachDemo02{ public static void main(String args[]){ Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String map = new HashMa…
import java.util.HashMap ; import java.util.Map ; public class HashMapDemo01{ public static void main(String args[]){ Map<String,String> map = null; // 声明Map对象,其中key和value的类型为String map = new HashMap<String,String>() ; map.put("mldn"…
第七周学习笔记 MySQL(数据管理系统)学习 知识点总结: 不能通过关闭MySQL数据库服务器所占用的命令行窗口来关闭MySQL数据库. 如果MySQL服务器和MySQL管理工具驻留在同一台计算机上,主机名可以是localhost或127.0.0.1. JDBC是允许用户在不同数据库之间做选择的一个抽象层.JDBC允许开发者用JAVA写数据库应用程序,而不需要关心底层特定数据库的细节. 查询操作: 向数据库发送SQL查询语句,先用statement声明对象,已创建的连接对象调用creatSta…