Iterator接口与foreach循环 1. 遍历Collection的两种方式: ① 使用迭代器Iterator ② foreach循环(或增强for循环) 2.2 作用:遍历集合Collection元素 2.3 如何获取实例:coll.iterator()返回一个迭代器实例 package top.qaqaq.java.P543; impor…
Collection接口 常用方法: add(Object obj),addAll(Collection coll),size(),isEmpty(),clear(); contains(Object obj),containsAll(Collection coll),remove(Object obj),removeAll(Collection …
1. 集合Collection中存储的如果是自定义类的对象,需要自定义类重写哪个方法?为什么? equals()方法。 contains()/remove()/retainsAll().... List:equals()方法 Set:(HashSet、LinkedHashSet为例):equals()、hashCode() (TreeSet为例):…
是什么?扩容机制?Vector和ArrayList的最大区别?
请问ArrayList/LinkedList/Vector的异同?谈谈你的理解?ArrayList底层是什么?扩容机制?Vector和ArrayList的最大区别? ArrayList和LinkedList的异同二者都线程不安全,相对线程安全的Vector,执行效率高。此外,ArrayList是实现了基于动态数组的数据结构,LinkedList基于…
之前有写过关于 ArrayList 的源码解析,当时是基于 JDK8 的,现在 JDK11 变成了 LTS 版本,重新看一遍源码并做相关记录。 概览 ArrayList 底层基于动态数组,并且容量可变ArrayList 是线程不安全的,效率较高ArrayList 中 size(), isE…
package top.qaqaq.java.P540; import org.junit.jupiter.api.Test; import java.util.Iterator; import java.util.TreeSet; /** * @author RichieZhang * @create 2022-10-26 下午 10:18 */…
package top.qaqaq.java.P535; import org.junit.jupiter.api.Test; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; /** …
package top.qaqaq.java.P534; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.List; /** * @author RichieZhang * @create 2022-10-26 下午 7:18 */ pu…
package top.qaqaq.java.P528; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; /** * 1.…
package top.qaqaq.java.P527; import org.junit.jupiter.api.Test; import top.qaqaq.java.P520.Person; import java.util.ArrayList; import java.util.Collection; /** * jdk 5.0 新增了fo…
package top.qaqaq.java.P523; import org.junit.jupiter.api.Test; import top.qaqaq.java.P520.Person; import java.util.ArrayList; import java.util.Collection; import java.util.It…
Arrays.asList(new int[]{1,2,3})和Arrays.asList(new Integer[]{1,2,3}) Arrays.asList(new int[]{1,2,3}); Arrays.asList(new Integer[]{1,2,3}); 这两行代码的返回值是不一样的。 看源码的话,该方法是是这样…
尝试回答如下代码打印结果 我自信的回答到 这还不是 4? 但是控制台的输出却 啪啪啪的打响了我的老脸…原因: asList()方法传入的参数不能是基本类型的数组,必须包装成 包装器类型再使用,否则对应生成的列表的大小永远是 1 到底是为啥呢?从反编译结果来 asList()方法传入的参数基本类型的数组 public static void main…
1. 注解的理解 框架 = 注解 + 反射机制 + 设计模式 5. 如何获取注解信息:通过反射来进行获取、调用。 前提:要求此注解的元注解Retention中声明的生命周期状态为RUNTIME
1. 什么是枚举类?枚举类的对象声明的修饰符都有哪些? 枚举类:类中的对象的个数是确定的,有限个。 private final (NO) public static final (YES) 2. 什么是元注解?说说Retention和Target元注解的作用 元注解:对现有的注解进行解释说明的注解。 Retention:指明所修饰的注解的生命周期。…
package top.qaqaq.java.P520; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; /** * …
package top.qaqaq.java.P513; import org.junit.jupiter.api.Test; import java.util.ArrayList; import java.util.Collection; import java.util.Date; /** * 一、集合框架的概述 * * 1. 集合、数组都是对…
package top.qaqaq.java.P505; import org.junit.jupiter.api.Test; import java.lang.annotation.Annotation; import java.util.ArrayList; import java.util.Date; /** * 注解的使用 * * 1. 理…
package top.qaqaq.java.P503.service; public class Data { public static final int EMPLOYEE = 10; public static final int PROGRAMMER = 11; public static final int DESIGNER = 12;…
package top.qaqaq.java.P498; /** * 一、枚举类的使用 * 1.枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 * 2.当需要定义一组常量时,强烈建议使用枚举类 * 3.如果枚举类中只有一个对象,则可以作为单例模式的实现方式。 * * 二、如何定义枚举类 * 方式一:jdk5.0之前,自定义枚举类 * …