java基础
java
RAHS
西电毕业,互联网二线厂
展开
-
2021-09-05LeetCode每日一题
2021-09-05LeetCode每日一题}470 用Rand7()实现Rand10()数学概率题,copy一个评论区大佬的链接讲一个万能的方法,可以无脑等概率生成任何数!几乎不需要用到概率知识! 几乎不需要用到概率知识! 几乎不需要用到概率知识!【步骤】下面将需要生成的随机数中最大值记为n先去生成一个等概率产生0和1的方法:rand2() 。不要去纠结为什么返回值不是1和2,因为方便二进制位运算。实现:调用 rand7() ,1,2,3 返回1,4,5,6 返回2,7 重来。将n原创 2021-09-05 23:28:29 · 106 阅读 · 0 评论 -
2021-08-31LeetCode每日一题
2021-08-31LeetCode每日一题165 比较版本号给你两个版本号 version1 和 version2 ,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个 ‘.’ 连接。每个修订号由 多位数字 组成,可能包含 前导零 。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33 和 0.1 都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较原创 2021-09-01 22:00:25 · 140 阅读 · 0 评论 -
2021-08-31LeetCode每日一题
2021-08-31LeetCode每日一题1109 航班预定统计这里有 n 个航班,它们分别从 1 到 n 进行编号。有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。请你返回一个长度为 n 的数组 answer,其中 answer[i] 是航班 i 上预订的座位总数。来源:力扣(原创 2021-08-31 21:42:45 · 94 阅读 · 0 评论 -
Hashmap、Hashtable、ConcurrentHashmap的原理和区别
Hashmap ,ConcurrentHashmap继承AbstractMap类,而HashTable是继承自Dictionary类HahsMapHashMap先插入再扩容(会导致浪费),在jdk1.7时头部插入并发扩容的时候容易出现链表成环的问题,在jdk1.8中采用尾部插入法可以存储null键和null值ConcurrentHashmapConcurrentuHashMap ...原创 2020-05-07 00:14:30 · 332 阅读 · 0 评论 -
HashMap,HashTable,ConcurrentHashMap大佬博客总结
https://www.cnblogs.com/heyonggang/p/9112731.htmlhttps://www.cnblogs.com/huajiezh/p/6411695.htmlJDK1.8中 ConcurrentHashMapCHM 摒弃了 Segment(锁段)的概念,而是启用了一种全新的方式实现,利用 CAS算法关于CAS我看的是这个博客点击...原创 2020-04-26 22:30:04 · 91 阅读 · 0 评论 -
Java——HashMap中的红黑树
JDK1.8 之前 HashMap 底层是 数组和链表 结合在一起使用也就是 链表散列。HashMap 通过 key 的 hashCode 经过扰动函数处理过后得到 hash 值,然后通过 (n - 1) & hash 判断当前元素存放的位置(这里的 n 指的是数组的长度),如果当前位置存在元素的话,就判断该元素与要存入的元素的 hash 值以及 key 是否相同,如果相同的话,直接覆盖,...原创 2020-03-31 10:37:27 · 638 阅读 · 0 评论 -
Java——集合框架简介
转载于GithHub,侵删CollectionListArraylist: Object数组Vector: Object数组LinkedList: 双向链表(JDK1.6之前为循环链表,JDK1.7取消了循环)SetHashSet(无序,唯一): 基于 HashMap 实现的,底层采用 HashMap 来保存元素LinkedHashSet: LinkedHashSet...转载 2020-04-03 10:34:26 · 93 阅读 · 0 评论 -
Java——对象多态性
向上转型引用所能够调用的方法取决于引用的类型,而如何具体的实现该方法取决于对象的类型。定义了父类为A类,子类为B类,子类B覆盖了父类的fun1()方法,添加了自己的fun3()类,这是一个对象向上转型的关系,但是A类型的引用a虽然可以调用fun1()方法,但是不能通过A类引用a调用子类对象独有的fun3()方法!!!引用a为A类型,所以通过引用a只能调用A类型中包含的方法( fun1()...原创 2020-04-05 14:55:56 · 121 阅读 · 0 评论 -
Java——重载是不是多态
2020年4月11日01:28:41面试面得有点睡不着,突然看到这个有点懵逼。大家都知道 多态存在的三个必要条件有一、要有继承;二、要有重写;三、父类引用指向子类对象。 //就是我之前说的对象多态吧多态是面向对象的一个重要特征,且我从网上知道的是①多态的定义:指允许不同类的对象对同一消息做出响应。即同一消息可以根据发送对象的不同而采用多种不同的行为方式。(发送消息就是函数调用...原创 2020-04-11 01:53:56 · 653 阅读 · 1 评论 -
java——封装
封装封装的定义:隐藏对象的属性及实现细节,仅对外公开访问接口,控制外部访问对外接口的访问权限,使对象内部数据及数据操作结合一个整体-类。封装的目的:封装可以防止类中的方法访问属性,防止对象间的交互,提高Java程序的安全性及简化编程,访问者不需要了解内部 具体实现,只用通过开放的外部接口,当然对外的接口我们可以限制访问权限,对于封装而言,一个对象它所封装的是自己的属性和方法,所以它是不需要依赖...原创 2020-04-11 02:05:53 · 207 阅读 · 0 评论 -
Java——继承
继承如果两个类的属性,方法相同或相似,我们可以使用继承降低代码的复用。Java中所有的类直接或间接继承于Object类,Object是所有类的父类,而所有子类继承父类的属性,方法,除过父类私有的属性及方法(private修饰),子类可重写父类方法,继承的特点:1.子类可以拥有父类非私有的属性及方法,父类的构造方法子类也不能继承2.子类可以拥有自己的属性与方法,3.子类可以重写父类的方法,...原创 2020-04-11 02:12:21 · 168 阅读 · 0 评论