自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 问答 (1)
  • 收藏
  • 关注

原创 Java-Map集合

Map集合:键值对Map集合中不能包含重复的键,值可以重复;每个键只能对应一个值

2021-07-28 21:59:31 75

原创 java-HashSet

set接口:特点不重复元素,没索引一个不包含重复元素的collectionset没有索引,set集合取出元素的方式可以采用:迭代器、增强for,没索引set接口方法和collection完全一样HashSet: 无序,不重复,没索引和HashMap是一回事是一个无序集合,即存的顺序和储的顺序不一定相同允许存储null元素public class HashSetDemo { public static void main(String[] args) { Set<Strin

2021-07-09 21:57:25 119 1

原创 java-LinkedList方法

方法addFirst()方法addLast() private static void function() { // TODO Auto-generated method stub LinkedList<String> link = new LinkedList<String>(); //这里前面要写LinkedList,不能写List,因为写list就成了多态,就只能使用共有功能。 link.add("ab"); link.add("bc"); .

2021-06-29 16:52:12 88

原创 java-list接口

3个特点:存储有序:有索引元素可以重复2个实现类:ArrayListLinkedList具备以上三个特点4个常用方法:add(int index, Object e)向集合指定索引处,添加指定的元素,原有元素依次后移带有索引的操作要防止索引越界异常,发生异常,后面的不再执行java.lang.IndexOutOfBoundsException: 集合索引越界异常ArrayIndexOutOfBoundsException: 数据索引越界异常StringIndexOutO

2021-06-21 16:10:27 41

原创 java泛型

泛型的引入集合中可以存放任意对象,只要把对象存储集合后,那么这时他们都会被提升成Object类型。当我们在取出每一个对象,并且进行相应的操作,这时必须采用类型转换。比如下面程序: public class GenericDemo { public static void main(String[] args) { List list = new ArrayList(); list.add("abc"); list.add("itcast

2021-06-21 15:01:32 36

原创 java-Date()

空参构造器输出操作系统的时间import java.util.Date;public class DateDemo { public static void main(String[] args) { Date date = new Date(); System.out.println(date); }}输出:Sun Jun 20 21:17:09 CST 2021long参数构造器传递毫秒值,将毫秒值转换为日期 Date date1 = new Date(0).

2021-06-21 11:34:28 40

原创 SQL基础

使用工具:MYSQL,MYSQLWorkbench初窥:关键字大写更规范星号*返回所有列USE选择数据库WHERE进行筛选ORDER进行排序USE sql_store;-- 选择数据库SELECT *FROM customers-- WHERE customer_id = 1ORDER BY first_name;-- 按字段排序SELECT语句:查询指定列SELECT first_name, last_nameFROM sql_store.customers;

2021-06-17 16:19:00 48

原创 java迭代器

Collection集合元素的通用获取方式:在取元素之前先要判断集合中有没有元素。如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来。一直把集合中的所有元素全部取出。这种取出方式专业术语称为迭代。实际就是遍历集合接口 Iterator : 两个抽象方法boolean hasNext() 判断集合中还有没有可以被取出的元素,如果有返回truenext() 取出集合中的下一个元素...

2021-06-16 17:29:27 81

原创 Java集合

学习目标:如何向其中存储数据?如何遍历以及取出数据?该集合有什么特性,什么时候选用该集合?

2021-06-16 09:33:39 45

原创 java-object类

object是所有类的父类。如果说要写一个类,这个类不是object的子类,那么没有这样的类。他的构造方法第一行不是super();接口不继承object,因为接口中没有构造方法,因为接口中的方法必须全是抽象的,所以没有访问父类构造方法的过程,所以不继承。两个常用方法:equals方法,用于比较两个对象是否相同,其实就是比较两个对象的内存地址。所以经常需要重写。重写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Obje

2021-04-24 16:43:52 88

原创 leetcode-合并二叉树、翻转二叉树、计算二叉树的深度

使用深度优先搜索,把每个节点都看作根节点,做三件事,val值加起来,合并左子树,合并右子树。递归调用。这里发现val值和null值可以直接加,TreeNode(root1.val+root2.val);/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} *

2021-04-14 16:10:03 54

原创 java基础语法-StringBuffer类

1.添加字符s.append();2.字符反转s.reverse();以字符串形式输出s.toString();

2021-04-11 19:25:47 45

原创 leetcode(异或)-数组异或操作、汉明距离、只出现一次的数字

主要是知道异或操作符是 ^ ,就好class Solution { public int xorOperation(int n, int start) { int[] nums = new int[n]; int result = 0; for(int i = 0; i<n; i++){ nums[i]=start + 2*i; result = result ^ nums[i];

2021-04-11 16:49:34 46

原创 leetcode-删除链表中的结点、反转链表

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。因为我们无法访问要被删除节点的前一个节点,所以只能用后一个节点的内容去覆盖要被删除的节点。然后删除后一个节点(后一个节点由于它的地址已经不在前一个节点中有储存了,所以无法访问,也就相当于删除了。)class Solution { public void deleteNode(ListNode node) { node.val=node.next.val; node.

2021-04-11 16:36:52 62

原创 leetcode-统计匹配检索规则的物品数量

|

2021-04-09 17:17:13 80

原创 leetcode-重新排列数组、整数反转、回文数

class Solution { public int[] shuffle(int[] nums, int n) { int[] shuffle = new int[n*2]; for(int i = 0; i<n; i++){ shuffle[i*2] = nums[i]; shuffle[i*2+1] = nums[i+n]; } return shuffle; }}这里要注意shuffl

2021-04-02 16:50:04 104

原创 leetcode-两数之和、一维数组的动态和、好数对的数目

1.暴力法class Solution { public static int[] twoSum(int[] nums, int target) { int[] index = new int[2]; for(int i=0; i<nums.length; i++){ for(int j=i+1; j<nums.length; j++){ if (target == nums[i]+num

2021-03-31 21:51:38 49

原创 leetcode-DFS

转载来自:https://www.bilibili.com/video/BV1qE411E7di?from=search&seid=13624967053223072523dfs三个重要的点:截止条件遍历候选节点对候选节点的筛选例题一:输入: p = ‘A’,‘B’,‘C’输出:ABC ACB BAC BCA CAB CBA截止条件:level==p.length()+1遍历候选节点:for(var i=0; i<p.length; i++)筛选候选节点:pb=【fa

2021-03-31 21:49:02 45

原创 java-构造方法

利用构造方法为成员变量赋值public class Person { private String name; private int age; public Person(String name, int age){ this.name = name; this.age = age; System.out.println(name+" "+age); }}public class Test { public static void main(String[] arg

2021-03-29 17:31:42 34

原创 java-多态转型

public class Test { public static void main(String[] args) { Animal a1 = new Cat(); Animal a2 = new Dog(); //a1,a2调用父类共有方法,运行走子类的重写 a1.eat(); a2.eat(); //类型强制转换,向下转型,调用子类的特有方法 Cat c = (Cat)a2; c.catchMouse();运行结果:Exception in thread

2021-03-29 15:49:22 53

原创 leetcode-删除链表节点,设计停车系统,宝石与石头

删除链表节点:class Solution { public void deleteNode(ListNode node) { node.val = node.next.val; node.next = node.next.next; }}1603.设计停车系统class ParkingSystem { int big,medium,small; public ParkingSystem(int big, int medium,

2021-03-28 21:45:50 45

原创 java基础语法-char类型转换

int类型和char数据类型转换char两个字节,int占内存四个字节。Int i = c+1时,由于char两个字节,int四个字节,发生数据类型转换,类型自动提升为int。Int转成char类型,大范围转为小范围,强制转换,会查询编码表。char也可以存储汉字查询unicode编码表,且该编码表中一个汉字正好占两个字节。所以char可以存储一个汉字。char和short类型存储范围char可以和Int计算,提升为Int类型,内存中两个字节。char和short都是两个字节。但char是无

2021-03-28 21:01:02 1146

原创 JAVA-接口和抽象的区别

相同点:都位于继承的顶端,用于被其他类实现或继承;都不能直接实例化对象;都包含抽象方法,其子类都必须覆写这些抽象方法;区别:抽象类为部分方法提供实现,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承);设计思想:抽象类是这个事物中应该具备的内容, 继承体系是一种 is…a关系;接口是这个事物中的额外内容,继承体系是一种 like…a关系;二者选用:优先选用接口,尽量

2021-03-22 21:13:02 45

原创 java基础语法-string类

String num1获取字符串长度num1.length()获取索引 i 处的字符charpublic class Test { public static void main(String args[]) { String s = "www.runoob.com"; char result = s.charAt(6); System.out.println(result); }}输出为: n...

2021-03-22 11:01:59 72

原创 java-易错点、经常纠结的问题

参数传递传递基本数据类型时:public class ArgumentsDemo01 { public static void main(String[] args) { int a=5; int b=10; change(a, b);//调用方法时,传入的数值称为实际参数 System.out.println("a=" + a); System.out.println("b=" + b); } public static void change(int a, int b){

2021-03-22 11:01:34 38

原创 Java基础语法-常见面试问题

switch可以接收的数据类型JDK1.0-1.4:byte\short\int\charJDK1.5:byte\short\int\char\enum(枚举)JDK1.7:byte\short\int\char\enum(枚举)\String

2021-03-22 11:01:03 68

原创 CTF-bugkuctf-杂项

1.隐写压缩包解压,里面有一个图片,图片可以打开,使用python脚本对宽高进行测试,发现高被修改,修改图片的高后问题解决python脚本:import osimport binasciiimport structcrcbp = open("CTF\\2.png","rb").read()for i in range(1024): for j in range(1024): data = crcbp[12:16] + struct.pack('>i',i) +

2021-03-17 16:59:13 98

原创 java基础语法-奇数求和

public class SumOddNumber{ public static void main(String[] args){ int sum = 0; for(int i = 1; i<100; i++){ if(i%2==1){ sum += i; } } System.out.println(sum); } }简便写法:for(int i =1; i <100; i+=2)直接对奇数进行遍历...

2020-09-15 17:35:33 3171

原创 java基础语法-打印99乘法表

代码如下:public class PrintMultiplication{ public static void main(String[] args){ for(int i = 1; i<=9; i++){ for(int j = 1; j<=i; j++){ System.out.print(j+"*"+i+"="+j*i+" "); } System.out.println(); } }}打印后会出现未对齐的情况:将System.out.

2020-09-14 11:39:18 219

原创 java基础语法-标识符命名规范

组成元素英文字符: a-zA-Z数字: 0-9符号: 下划线_,美元符$ (加粗)标识符规则数字不能开头不可以使用关键字严格区分大小写,不限制长度起名时,尽量达到见名知意注意:类的名字: 首字母大写,每个单词首字母大写;方法的名字:首字母小写,每个单词首字母大写;(驼峰命名法)...

2020-09-14 10:48:23 106

转载 leetcode-20-有效的括号

Java toCharArray() 方法:将字符串转换为字符数组public class Test { public static void main(String args[]) { String Str = new String("www.runoob.com"); System.out.print("返回值 :" ); System.out.println( Str.toCharArray() ); }}输出为:返回值 :ww

2020-08-20 16:13:07 68

原创 java基础语法-ArrayList集合

由于Java中数组长度不可变。JDK中提供了一系列特殊的类,这些类可以存储任意类型的元素,并且长度可变,统称为集合。ArrayList集合是程序中最常见的一种集合,它属于引用数据类型(类)。在ArrayList内部封装了一个长度可变的数组,当存入的元素超过数组长度时,ArrayList会在内存中分配一个更大的数组来存储这些元素,因此可以将ArrayList集合看作一个长度可变的数组。导包:import java.util.ArrayList;创建:存储String类型的元素ArrayList

2020-08-19 16:42:06 121

转载 leetcode-415-字符串相加

415. 字符串相加class Solution { public String addStrings(String num1, String num2) { //从最末位开始加,因此指针i,j先指向字符串最后一位 //add代表是否有进位 int i = num1.length() - 1, j = num2.length() - 1, add = 0; //StringBuffer类对字符串进行操作 StringBuffer

2020-08-14 20:57:59 119

原创 java基础语法-方法重载

Java允许在一个类中定义多个名称相同的方法,但是参数的类型、个数或顺序必须不同,这就是方法的重载。注意:参数的类型、个数或顺序有一个不同即可public static void main(String[] args) { // 下面是针对求和方法的调用 int sum1 = add(1, 2); int sum2 = add(1, 2, 3); double sum3 = add(1.2, 2.3); // 下面的代码是打印求和的结果 System.out.println("s

2020-08-13 20:30:27 176

原创 java基础语法-一维数组

switch…caseCase穿透性: 如果多个case条件后面的执行语句是一样的,则该执行语句只需书写一次即可public class SwitchDemo02 { public static void main(String[] args) { int week = 2; switch (week) { case 1: case 2: case 3: case 4: case 5: // 当 week 满足值 1、2、3、4、5 中任意一个时,处理方式相同

2020-07-29 19:43:19 175

空空如也

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

TA关注的人

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