自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA-构造方法Constructor(构造器)详解及代码解读

修饰符列表] 构造方法名(形参列表){构造方法体;注意:① 构造方法名必须和类名一致② 构造方法不需要提供返回值类型,默认返回该创建的对象的地址。

2024-05-21 15:20:38 67

原创 JAVA-面向对象的封装性

封装是一种将数据和方法加以包装,是指成为一个独立的实体,并把它与外部对象隔离开来的机制。具体来说,封装是将一个对象的所有“状态(属性)”以及“行为(方法)”统一封装到一个类中,从而隐藏了对象内部的具体实现细节,向外界提供了有限的访问接口,以实现对对象的保护和隔离。

2024-05-19 18:03:08 105

原创 JAVA - JVM内存分析详解

【代码】JAVA - JVM内存分析详解。

2024-05-18 01:14:33 226

原创 面向过程和面向对象的概念区别详解

面向对象和面向过程的关注点不同面向过程关注点在实现功能的步骤上;面向对象关注点在实现功能需要哪些对象的参与。面向过程扩展力较差,耦合度高面向对象扩展力叫强,耦合度低。

2024-05-15 21:04:18 197

原创 Java-原码反码补码计算详解

8个二进制位就是一个byte(字节),一个二进制位就是一个bite(比特),在计算机中,数据通常以字节(byte)为单位进行存储和传输。而bit(比特)则是用来表示数据的最小单位。② 转二进制:5 -> 00000101。就占4个字节,也就是32个二进制位。① 取绝对值:-5 -> 5。

2024-05-11 15:56:57 173

原创 TreeSet集合及构造器排序和自然排序详解和特点

TreeSet集合及构造器排序和自然排序详解和特点1.TreeSet集合特点元素有序,这里的顺序不是指存储和取出的顺序,而是按照一定的规则进行排序,具体排序方式取决于构造方法TreeSet():根据其元素的自然排序进行排序TreeSet(Comparator comparator):根据指定的比较器进行排序没有带索引的方法,所以不能使用普通for循环遍历由于是Set集合,所以不包含重复元素的集合不同构造方法的排序1.无参构造方法(默认构造方法)按元素的自然排序,由小到大public

2022-02-04 15:13:06 390

原创 LinkedList集合的特有功能

** LinkedList可以当做队列使用,底层为链表实现**当做队列使用涉及的特有方法public void addFirst (E e):在该列表开头插入指定的元素public void addLast(E e):将指定的元素追加到此列表的末尾public E getFirst():返回此列表中的头元素public E getLast():返回此列表中的尾元素public E removeFirst():从此列表中删除并返回第一个元素public E removeLast():从此列表

2022-02-03 18:21:35 327

原创 695.岛屿的最大面积(力扣)-JAVA-深度优先搜索和广度优先搜索详解

一.题目描述给你一个大小为 m x n 的二进制矩阵 grid 。岛屿 是由一些相邻的 1 (代表土地) 构成的组合,这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻。你可以假设 grid 的四个边缘都被 0(代表水)包围着。岛屿的面积是岛上值为 1 的单元格的数目。计算并返回 grid 中最大的岛屿面积。如果没有岛屿,则返回面积为 0 。二.深度优先搜索和广度优先搜索详解1.深度优先搜索首先我们了解一下深度优先搜索,即从一个头结点开始,按一定的数据结构访问与头结点相连

2022-02-03 17:54:43 726

原创 167.两数之和II-输入有序数组(力扣)-JAVA-两种双指针方法

167.两数之和II-输入有序数组题目描述1.双指针法我们可以观察原数组得到(这里建议大家画图看看,真的非常清晰),因为题目一定有解,解唯一且数组按升序排列,所以我们不妨让left指针指向数组中未访问过的最小值(即从numbers[0]开始向右移动);让right指针指向数组中未访问过的最大值(即从numbers[n-1]开始向左移动)。若此时numbers[left]+numbers[right]>target,则将right指针向左移动right--(即用第二大的数与最小数相加试试),同

2022-01-20 18:39:07 594

原创 283.移动零(力扣)-Java-快速排序-双指针

283.移动零(力扣)-Java-快速排序-双指针先了解一下快速排序1.从数组中选择一个元素值作为基准元素(通常选择第一个元素值-temp=nums[0])2.设定起始位置-left -nums[0],末尾位置-right[n]3.先从末尾 right 开始比较,大于基准数据则 right - -;小于基准数据则将 right 位置的值赋给 left 位置,再将 left ++4.若 执行 left = right ,再从开始 left 开始比较,大于基准数据则将 left 位置值赋给 rig

2022-01-16 17:00:26 200

原创 977.有序数组的平方(力扣)Java-三种方法详解

977.有序数组的平方(力扣)Java-三种方法详解题目描述给你一个按非递减顺序排序的整数数组 nums,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]有序数组平方的三种解法1. 直接排序创建一个新数组,遍历存放原数组各数平方后值,通过Arrays.sort(新数组名);进行排序。pu

2022-01-15 20:02:29 539

原创 189.轮转数组(力扣)详解-JAVA

189.轮转数组(力扣)详解-JAVA轮转数组的三种解法首先我们要明白一点,当k 是 nums.length倍数的时候,就相当于没有旋转。所以实际旋转的次数 是 k % nums.length1. 翻转实现例子:nums= [1,20,3,2,4],k=2;a. 整体翻转 [4,2,3,20,1]b. (1-2)翻转[2,4]c. (3-5)翻转[1,20,3]d. 合并[2,4,1,20,3]2. 使用额外数组取余数组下标 i =0~4;k=2;(i+k)% length=2,3

2022-01-14 16:59:40 687

空空如也

空空如也

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

TA关注的人

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