随笔分类 - Day16
摘要:HashMap源码分析 刚创建好HashMap还没有添加元素的时候 table = null; size = 0; 添加完第一个元素之后容量大小变为16,目的是节省空间 核心总结 1.刚创建好HashMap还没有添加元素的时候table为null,size = 0;添加进第一个元素放到数组的i位置,
阅读全文
摘要:**HashMap【重点!】 HashMap使用 1.添加元素 2.删除元素 应当注意的是: 删除操作中value值必须也得和原元素相同,否则hashCode和equals方法认定这两个元素不同,就删不掉 而添加操作中只要添加元素的key与原key相同就认定这两个元素相同,value不同不影响添加,
阅读全文
摘要:Map接口使用 1.添加、删除元素 注意点:键不可重复,但是将不同的Value值添加到同一个Key上时,后来添加的Value会把之前添加的替换掉 2.遍历【!!!】 keySet方法 entrySet方法 两个方法的原理图析 如上图所示: 1.map.KeySet方法 通过map.KeySet方法得
阅读全文
摘要:TreeSet案例 要求 TreeSet案例:使用TreeSet集合实现对以下字符串**按照长度(从小到大)**进行排序 helloworld zhang lisi wangwu beijing xian nanjing 程序
阅读全文
摘要:Comparator接口 自定比较规则 Comparator:实现定制比较(比较器),自己定制比较规则 如下是自己用comparator重写的compare方法,自定比较规则为先比较年龄再比较姓名 添加元素 如上图所示,很明显添加元素的顺序符合自定规则:先比较年龄(从小到大排序),年龄大小相等的比较
阅读全文
摘要:TreeSet TreeSet使用 程序位置: Student类程序位置: 添加字符串元素 添加Person类元素 添加Person类型数据发现出现了数据类型转换异常 Person类不能转换为java.Comparable类型 因为对于红黑树而言,左边节点数据要比中间根节点数据小,右边节点数据要比中
阅读全文