自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Array数组和ArrayList的区别?

Array数组和ArrayList区别?首先,ArrayList是基于数组实现的,他存储的是引用类型ArrayList是接口List的实现类,而且java为其提供了丰富的增删改查等方法,使用起来较为较为方便。数组,只能存储单一的数据类型,一旦数组的长度给定无法改变扩展:ArrayList不是线程安全的,只能用在单线程环境下,多线程环境下可以考虑用Collections.synchronizedList(List l)方法返回一个线程安全的ArrayList类,也可以使用concurrent并发包

2022-03-28 23:17:56 638

原创 javaSE--String 和 StringBuffer

String 和 StringBuffer 的区别?String和StringBuffer都是操作字符串的类String不可对字符长度进行改变,拼接字符串的原来的字符串,相当于重新创建了一个类而StringBuffer提供了字符串缓冲区,可以对其进行添加append、删除delete,deleteCharAt、替换replace、反转reverse、截取substring它们可以储存和操作字符串,即包含多个字符的字符数据。当你知道字符数据要改变的时候你就可以使用 StringBuffer。典型

2022-03-24 00:48:56 331

原创 学习笔记--递归括号序列(java)

时间限制: 5.0s 内存限制: 512.0MB 本题总分:25 分 【问题描述】 给定一个括号序列,要求尽可能少地添加若干括号使得括号序列变得合法, 当添加完成后,会产生不同的添加结果,请问有多少种本质不同的添加结果。 两个结果是本质不同的是指存在某个位置一个结果是左括号,而另一个是右括 号。 例如,对于括号序列 (((),只需要添加两个括号就能让其合法,有以下几...

2022-03-23 00:48:37 987

原创 javaSE--int和Integer

int 和 Integer 有什么区别?int 是基本类型,Integer是引用类型,Integer是包装类,Integer可以自动转换为int称为拆箱,int转换为Integer是自动装箱int的默认值为0,Integer的默认值为nullInteger实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值所以 Integer i = 100 ; int j=100; i == j (false)对于-128到127之间的数,会进行...

2022-03-23 00:45:29 397 1

原创 javaSE--&和&&的区别?

&和&&的区别?&是按位与,&&是短路与,&:不管前面的条件是否正确,后面都执行。&&:前面条件正确时,才执行后面,不正确时,就不执行。很多时候我们可能都需要用&&而不是&,例如在验证用户登录时判定用户名不是 null 而且不是空字符串,应当写为:username != null && !username.equals(""),二者的顺序不能交换,更不能用&运算符,因为第一个条

2022-03-22 00:27:51 120

原创 javaSE--跳出多层循环

在 Java 中如何跳出当前的多重嵌套循环?先说两个关键字break:跳出一层循环continue:结束本次循环进入下次循环如果有多层循环可以给循环加上标记:例如tc : for(int i=0;i<10;i++){ for(int j=0;j<10;j++){ if(j == 2) break tc; }}可以直接结束循环(Java 中支持带标签的 break 和continue 语句,作用有点类似于 C 和 C++中的 goto 语句,但是就...

2022-03-21 00:38:04 1392

原创 学习笔记--动态规划--判断子序列(java)

今天发现一个字符串判断的题,分享一下判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。 (例如,"ace"是"abcde"的一个子序列,而"aec"不是)。 进阶: 如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况...

2022-03-20 01:21:35 507

原创 javaSE--java和JavaScript比较

比较一下 Java 和 JavaSciprt?1,java和javaScript都是面向对象语言2,他两除了名字相似之外没有任何关系3,java是一种真正的面向对象语言,不管开发什么程序都要设计对象;而JavaScript是种脚本语言,主要实现前端页面的交互,比如验证表单,弹窗提醒等等它是一种基于对象(Object-Based)和事件驱动(Event-Driven)的编程语言,因而它本身提供了非常丰富的内部对 象供设计人员使用。4,执行环境不一样,java在jvm或者Web服务器执行比较耗费内存,

2022-03-20 01:11:44 3170

原创 javaSE--正则表达式

Java 中是如何支持正则表达式操作的?正则表达式回顾: 字符类 【abc】 a、b或者c(简单类) 【^abc】任何字符,除了abc(否定) 【a-zA-Z】a到z或者A到Z包括两头的(范围) 【a-d[m-p]】a到d或者m到p:[a-dm-p] [a-z&&[def23]]d,e或f(交集) [a-z&&[^bc]]a到z,除了b和c:[ad-z] ...

2022-03-19 00:12:54 143

原创 javaSE--java和c++的区别?

1,java和c++都是面向对象语言,但是c++也有面向过程的2,java能跨平台,因为java能否运行,是在jvm虚拟机上面运行的,而在面对不同的操作系统c++却不能跨平台运行3,java代码比c++代码更加容易,但代码运行的效率却不如c++,c++就相当于在底层和中间层,而java在高层4,java只有单继承,c++是多继承,但是java有接口的概念,接口可以多实现5,c++可以运算符重载,java不能,c++支持强制自动类型转换,java不能,会出现ClassCastException(类型不

2022-03-18 00:02:50 1224

原创 学习笔记--动态规划-打家劫舍(java)

打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统, 如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 1: 输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房...

2022-03-17 23:58:14 132

原创 学习笔记--动态规划(java)

动态规划:大致流程:1,设计状态2,写状态方程3,设定初始状态4,执行状态转移5,返回最终解简单动态规划使用最小花费爬楼梯给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1:输入:cost = [10,15,...

2022-03-17 00:01:51 78

原创 学习笔记--贪心算法(java)

贪心算法:遵循某种规律或者规则,不断贪心的选取当前最优的解的方法有1元,5元,10元,20元,100元的钞票是无穷张,现用这些钞票支付x元,最少需要多少?x=628尽可能的选择面值最大较大的钞票 ----200*3+20+5+1*3面值较大的是比自己面值小的倍数,所以如果使用较大面值能满足要求时,则需要更多的面值较小的来替换拓展---假设给定的钞票的面值不是倍数关系,则贪心是否成立?假定给1 2 7 10 x=14 贪心 10+2*2(3张)实际上最优为 7...

2022-03-15 23:57:11 701

原创 学习笔记--N皇后(java)

N皇后问题N皇后问题是值在N*N的棋盘上要摆N个皇后要求任何两个皇后不同行,不同列,也不在同一条斜线上返回摆法的种类限制行,让每一行只能摆一个元素用一个数组来表示放的位置,record[0...i-1]比如record[0]=7代表0行的元素放在了7列,也就是说下标表示行,值表示列当到达终止行时返回,如果没有到终止位置假设当前在第i行,递归尝试所有的列如果可以摆的话就继续递归,如果不是,则认为无效怎么验证可以摆哪?public static int num(int n) .

2022-03-15 00:21:23 754

原创 学习笔记--快速排序(java)

快速排序:快速排序基于冒泡(交换排序)步骤:每次确认一个数作为基准数(取中间位置的数)分区将左边的值和基准数比较小于的话直接向后移,将右边的值和基准数比较大于的话直接向前移动,移动完成之后,直接交换值,并且左边左移,右边右移public static void main(String[] args) { int a[]= {2,6,8,9,20,13,25,65,98,8,7,5,3,1,2,3,5,4,1,2}; Ssort(a); System.out.p.

2022-03-14 00:05:12 1704

原创 学习笔记--堆排序(java)

学习笔记

2022-03-13 00:21:02 85

空空如也

空空如也

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

TA关注的人

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