File类的使用 2.2 路径的分类 说明: IDEA中: 如果大家开发使用Junit中的单元测试方法测试,相对路径即为当前Module下。 如果大家使用main()测试,相对路径即为当前的Project下。 Eclipse中: 不管使用单元测试方法还是使用main()测试,相对路径都是当前的Project下。
自定义泛型类、泛型接口、泛型方法 3. 应用场景举例: ORM思想(数据库中的表和Java中的类对应)
1. 如何遍历 Map 的 Key 集,value 集, key-value 集,使用上泛型 Map<String,Integer> map = new HashMap<String,Integer>(); map.put(); .... //遍历key Set<String> keySet = map.keyS…
package top.qaqaq.java.P580; import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; /** * @author RichieZhang * @create 2022-10-29 下午 4:22 */ publ…
package top.qaqaq.java.P577; import org.junit.jupiter.api.Test; import java.io.File; import java.io.IOException; import java.util.Date; /** * File类的使用 * * 1. File类的一个对象,代表一个文件…
package top.qaqaq.java.P576; import java.util.*; /** * 定义个泛型类 DAO<T>,在其中定义一个 Map 成员变量,Map 的键为 String 类型,值为 T 类型。分别创建以下方法: * public void save(String id,T entity): 保存 T 类型的对象…
package top.qaqaq.java.P572; import org.junit.jupiter.api.Test; import java.util.AbstractList; import java.util.ArrayList; import java.util.Iterator; import java.util.List; /*…
package top.qaqaq.java.P571; import java.util.List; /** * @author RichieZhang * @create 2022-10-28 下午 9:10 * * DAO:data(base) access object */ public class DAO <T>{//表的共性操作…
package top.qaqaq.java.P568; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; /** * 如何自定义泛型结构:泛型类、泛型接口:泛型方法。 * * 1. 关于自定义泛型类、泛型接口: * * @au…
package top.qaqaq.java.P567; /** * 定义一个 Employee 类。 * 该类包含:private 成员变量 name,age,birthday,其中 birthday 为MyDate 类的对象; * 并为每一个属性定义 getter, setter 方法; * 并重写 toString 方法输出 name, ag…
package top.qaqaq.java.P565; import org.junit.jupiter.api.Test; import java.util.*; //import java.util.Map.*; /** * 泛型的使用 * 1. jdk 5.0新增的特性 * * 2. 在集合中使用泛型: * 总结: * ① 集合接口或集合类…
Collections工具类的使用 2. 常用方法 说明: ArrayList和HashMap都是线程不安全的,如果程序要求线程安全,我们可以将ArrayList、HashMap转换为线程安全的。 使用synchronizedList(List list) 和 synchronizedMap(Map map)
面试题:负载因子值的大小,对HashMap有什么影响 负载因子的大小决定了HashMap的数据密度。 负载因子越大密度越大,发生碰撞的几率越高,数组中的链表越容易长,造成查询或插入时的比较次数增多,性能会下降。 负载因子越小,就越容易触发扩容,数据密度也越小,意味着发生碰撞的几率越小,数组中的链表也就越短,查询和插入时比较的次数也越小,性能会更高。…
Map接口 4.2 HashMap在jdk8中相较于jdk7在底层实现方面的不同: * 1. new HashMap():底层没有创建一个长度为16的数组 * 2. jdk 8底层的数组是:Node[],而非Entry[] * 3. 首次调用put()方法时,底层创建长度为16的数组 * 4. jdk7底层结构只有:数组+链表。jd…
1. Map存储数据的特点是什么?并指明key,value,entry存储数据的特点。 双列数据,存储key-value对数据。 key:无序的、不可重复的 → Set 存储 value:无序的、可重复的 → Collection 存储 key-value:无序的、不可重复的 → Set存储 2. 描述HashMap的底层实现原理(jdk 8 版)…
HashMap源码解析(JDK11) 概览 HashMap 根据 key 的 hashCode 值进行储存数据,大多数情况喜爱可以直接定位到他的值,因此有很快的访问速度遍历的顺序不确定,并且不能保证顺序不改变扩容是一个特别耗性能的操作,所以 在使用时可以先给一个大致的容量允许一条记录的 key 为 null,且允许多条记录的 value 为 nul…
以Eclipse/IDEA为例,在自定义类中可以调用工具自动重写equals和hashCode。问题:为什么用Eclipse/IDEA复写hashCode方法,有31这个数字? 选择系数的时候要选择尽量大的系数。因为如果计算出来的hash地址越大,所谓的 “冲突”就越少,查找起来效率也会提高。(减少冲突) 并且31只占用5bits,相乘造成数据溢出…
练习3
package top.qaqaq.java.P559; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; /** *…
package top.qaqaq.java.P558; import java.io.FileInputStream; import java.io.IOException; import java.util.Properties; /** * @author RichieZhang * @create 2022-10-27 下午 9:48 */…