摘要:
注解 1.什么是注解 Annotation是从JDK1.5开始引入的新技术 Annotation的作用 不是程序本身,可以对程序做出一些解释(这一点和注释(comment)没什么区别) 可以被其他程序(比如:编译器等)读取 比如:@Override 重写的注解 Annotation的格式 阅读全文
摘要:
泛型的继承 泛型不具备继承性,但是数据具备继承性 泛型的通配符 ?表示不确定的类型 它可以进行类型的限定 ?extend E:表示可以传递E或者E的子类类型 ?super E:表示可以传递E或者E的父类类型 应用场景: 1.如果我们定义类,方法,接口的时候,如果类型不确定,就可以定义泛型类,泛型方法 阅读全文
摘要:
泛型概述 泛型:是JDK5引入的特性,可以在编译阶段约束操作的数据类型,并进行检查。 泛型的格式:<数据类型> 注意:泛型只能支持引用数据类型 没有使用泛型的时候: 1.如果我们没有给集合指定类型,默认认为所有的数据类型都是Object类型 2.此时可以往集合添加任意的数据类型 3.坏处就是我们在获 阅读全文
摘要:
迭代器源码分析 import java.util.Iterator; public class Demo2 { public static void main(String[] args) { //迭代器源码分析 //创建一个集合并且添加元素 ArrayList<String> list=new A 阅读全文
摘要:
LinkedList集合源码分析 底层数据结构是双链表 特点是:查询慢,增删快,但是如果操作的是首尾元素,速度也是极快 底层数据结构是双链表,查询慢,首尾操作的速度是极快的,所以多了很多首尾操作的API。 特有方法 说明 public void addFirst(E e) 在该列表的开头插入指定的元 阅读全文
摘要:
ArrayList源码分析 前言 利用空参创建的集合,在底层创建一个默认长度为0的数组 添加第一个元素时,底层会创建以一个新的长度为10的数组 存满时,会扩容1.5倍数 如果一次添加多个元素,1.5倍还放不下,则新创建数组的长度以实际为准,数组长度是存入元素还要+10 今天源码深度分析: 源码剖析第 阅读全文
摘要:
迭代器 迭代器在Java中的类是Iterator,迭代器是集合专用的遍历方式 Collection集合获取迭代器 方法名 说明 Iterator iterator() 返回迭代器对象,默认指向当前集合的0索引 Iterator中的常用方法 方法名 说明 boolean hasNext() 判断当 阅读全文
摘要:
单列集合顶层接口Collection List系列集合:添加的元素是有序,可重复,有索引 有序:存和取的元素顺序一致 可重复:存储的元素可以重复 有索引:可通过索引操作元素 Set系列集合:添加的元素是无序,不重复,无索引 Collection是单列集合的祖宗接口,他的功能是全部单列集合都可以继承使 阅读全文
摘要:
常见算法 常见的七种查找算法: 程序=数据结构加算法,数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天会涉及部分数据结构的专业名词,建议可以先看一下数据结构的知识,再回头看算法。 1. 基本查找 也叫做顺序查找 说明:顺序查找适合于存储结构为数组 阅读全文
摘要:
包装类 前言: 以前学集合的时候,在泛型的时候提到过基本数据类型需要使用他们的包装类,那到底包装类到底是什么呢,今天就详细聊聊什么是包装类,并且做几道关于包装类的题目。 包装类:基本数据类型对应的引用类型(对象) 各种数据类型对应的包装类 byte Byte short Short char Cha 阅读全文