自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 哈希表/散列表数据结构 | B站Java学习笔记

HashMap集合底层是哈希表/散列表的数据结构哈希表是一个怎样的数据结构呢?哈希表是一个数组和单向链表的结合体数组:在查询方面效率很高,随机增删方面效率很低单向链表:在随机增删方面效率较高,在查询方法效率很低哈希表将以上的两种数据结构融合在一起,充分发挥他们各自的优点哈希表:一维数组,这个数组中每一个元素是一个单向链表map.put(k, v)实现原理:第一步:先将k,v封装到Node对象当中第二步:底层会调用k的hashCode()方法得出hash值,然后通过哈希函数/哈希算法,将ha

2021-02-14 17:27:19 193

原创 泛型 自动类型推断机制 | B站Java学习笔记

JDK8之后引入了:自动类型推断机制,又称为钻石表达式List myList = new ArrayList<>();(后面的<>中的Animal省略了)public class GenericTest02 { public static void main(String[] args) { // ArrayList<这里的类型会自动推断>() List<Animal> myList = new ArrayList<>();

2021-02-12 21:13:44 275 2

原创 链表数据结构 | B站Java学习笔记

对于链表数据结构来说:基本的单元是节点Node对于单向链表来说,任何一个节点Node都有两个属性:1. 存储的数据2. 下一个节点的内存地址链表优点:随机增删元素效率较高 (因为增删元素不涉及到大量元素位移的问题)链表缺点:查询效率较低,每一次查找某个元素的时候都需要从节点开始往下遍历。public class Node { Object element; 存储的数据 Node next; 下一个节点的内存地址 public Node() { } public Node(Obj

2021-02-11 20:19:07 174

原创 ArrayList集合 | B站Java学习笔记

ArrayList集合底层采用了数组这种数据结构ArrayList是非线程安全的ArrayList集合初始化容量是10底层先创建了一个长度为0的数组,ArrayList集合底层是Object类型的数组Object[]构造方法:new ArrayList(); 默认值容量是10,注意:不是元素的个数,是容量new ArrayList(20);ArrayList集合的扩容:原容量的1.5倍ArrayList集合底层是数组,怎么优化?尽可能少的扩容,因为数组扩容效率比较低,建议在使用Arra

2021-02-11 12:43:37 194 3

原创 List接口特有方法 | B站Java学习笔记

List集合存储元素特点:有序可重复有序:List集合中的元素有下标从0开始,以1递增可重复:存储一个1,还可以再存储1List既然是Collection接口的子接口,那么肯定List接口有自己”特色“的方法以下只列出List接口特有的常用的方法:void add(int index, Object element)Object get(int index)int indexOf(Object o)int lastIndexOf(Object o)Object remove(..

2021-02-10 23:04:42 145 1

原创 关于集合遍历/迭代 | B站Java学习笔记

以下讲解的遍历/迭代方式,是所有Collection通用的一种方式,在Map集合中不能用,在所有的Collection以及子类中使用。创建集合对象public class CollectionTest02 { public static void main(String[] args) { Collection c = new ArrayList(); 后面的集合无所谓,主要是看前面的Collection接口怎么遍历/迭代 c.add("abc"); c.add("def"); c.a

2021-02-10 20:57:51 167 3

原创 Collection | B站Java学习笔记

Collection中能存放什么元素?没有使用”泛型“之前,Collection中可以存储Object的所有子类型。使用了”泛型“之后,Collection中只能存储某个具体的类型。集合后期我们会学习”泛型“语法,目前先不用管,Collection什么都能存,只要是object的子类型就行,(集合中不能直接存储基本数据类型)Collection中的常用方法boolean add(Object e) 向集合中添加元素int size() 获取集合中元素的个数void clear()..

2021-02-09 20:34:26 94 4

原创 集合 | B站Java学习笔记

集合概述1.1 什么是集合?有什么用?数组其实就是一个集合。集合实际上就是一个容器,是一个载体,可以容纳其他类型的数据,可以一次容纳多个对象。集合为什么说在开发中使用较多?回答:假设连接数据库,数据库当中有10条记录,那么假设把这10条记录查询出来,在java程序中会将10条数据封装成10个java对象,然后将10个java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来。1.2 集合不能直接存储基本数据类型,另外集合也不能直接存储java对象,集合当中存储的都.

2021-02-09 16:58:49 106 1

原创 异常 | B站Java学习笔记

java的异常处理机制异常在java中以类和对象的形式存在,那么异常的继承结构是怎样的?我们可以使用UML(Unified Modeling Language)图来描述一下继承结构什么是UML?有什么用?UML是一种统一建模语言一种图表式语言(画图的)UML不是只有java中使用,只要是面向对象的编程语言,都有UML一般画UML图的都是软件架构师,或者说是系统分析师,软件设计人员使用的在UML图中,可以描述类和类之间的关系,程序执行的流程,对象的状态等在java软件开发当中,软件分..

2021-02-08 16:25:32 146 4

原创 String | B站Java学习笔记

java中规定,双引号括起来的字符串,是不可变的,也就是说”abc"自出生到最终死亡,不可变,不能变成“abcd"在JDK当中双引号括起来的字符串,都是直接储存到方法区的字符串常量池当中的为什么SUN公司把字符串设置存储在一个“字符串常量池”当中呢。因为字符串在实际的开发中使用的太频繁,为了执行效率,所以把字符串放到了方法去的字符串常量池当中。String s1 = new String("hello");String s2 = new String("hello");一共3个对象:方法区.

2021-02-07 14:12:35 76 1

原创 Object类 | B站Java学习笔记

JDK类库的根类:Object间接继承Object类当中有哪些常用的方法?去哪里找这些方法?第一种方法:去源代码当中(但这种方式比较麻烦,源代码也比较难)第二种方法:去查阅java的类库的帮助文档什么是API? Application Programming Interface应用程序编程接口整个JDK的类库就是一个javase的API每一个API都会配置一套API帮助文档SUN公司提前写好的这套类库就是API,一般每一份API都对应一份API帮助文档目前为止我们只需要这几个方

2021-02-02 16:52:54 96

原创 访问控制权限 | B站Java学习笔记

访问控制权限都有哪些?4个privateprotected public 默认以上的4个访问控制权限:控制的范围是什么?private 表示私有的,只能在本类中访问public 表示公开的,在任何位置都可以访问“默认” 表示只能在本类,以及同包下访问protected表示只能在本类,同包,子类中访问访问控制修饰符子类同包子类任意位置public可以可以可以可以–––––protected可以可以

2021-02-02 16:01:05 100

原创 关于java语言中的package和import机制

为什么要使用package?package是java中包机制包机制的作用是为了方便程序的管理不用功能的类分别存放在不同的包下。(按照功能划分的,不同的软件包具有不同的功能)package怎么用?package是一个关键字,后面加包名,例如:package com.bjpowernod.javase.chapter17;注意:package语句只允许出现在java源代码的第一行包名有没有命名规范?有一般都采用公司域名倒序的方式 (因为公司域名具有全球唯一性)报名命名规范:.

2021-02-02 15:26:32 291 1

原创 类型与类型之间的关系 | B站Java学习笔记

类型与类型之间的关系:is a:Cat is a Animal 猫是一个动物凡是能够满足is a的表示“继承”关系A extends Bhas a:I has a Pen 我有一支笔凡是能够满足has a关系的表示“关联关系”关联关系通常以“属性”的形式存在A { B b;}like a:Cooker like a FoodMenu 厨师像一个菜单一样 凡事能够满足like a关系的表示“实现关系”实现关系通常是:类实现接口A implements B抽象类和接口有

2021-02-02 11:32:12 111

原创 接口在开发中的作用 | B站Java学习笔记

接口在开发中的作用注意:接口在开发中的作用,类似于多态在开发中的作用多态:面向抽象编程,不要面向具体编程,降低程序的耦合度,提高程序的扩展力public class Master { public void feed(Dog d) { } public void feed(Cat c) { } }假设又要养其他的宠物,那么这个时候需要再加1个方法这样扩展力太差了,违背了OCP原则(对扩展开放,对修改关闭)下面的是 面向Animal父类编程,父类是比子类更抽象的所以我们叫做面向抽象编

2021-02-02 09:42:02 118 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除