- 博客(23)
- 收藏
- 关注
原创 #Java-stream流和方法引用
是一个长度不可变,内容也无法修改的集合Stream流的作用结合了Lambda表达式, 简化集合、数组的操作Stream的使用步骤获取Stream流对象使用中间方法处理数据使用终结方法处理数据如何获取Stream流对象单列集合:Collection中的默认方法stream双列集合:不能直接获取数组:Arrays工具类型中的静态方法stream一堆零散的数据:Stream接口中的静态方法of常见方法。
2025-01-14 11:18:25
821
原创 #Java-集合进阶-Map
所有Map集合的特点都是由键决定的:存取无序不重复无索引HashMap底层是哈希表结构的依赖hashCode方法和equals方法保证键的唯一如果键要存储的是自定义对象,需要重写hashCode和equals方法需要注意只跟键有关,当键的值重复的时候,就会进行覆盖而不是舍弃,这一点和HashSet有所区别。
2025-01-12 10:55:25
1098
原创 #Java-集合进阶-Collection、Set
迭代器遍历:在遍历的过程中需要删除元素,请使用迭代器。列表迭代器:在遍历的过程中需要添加元素,请使用列表迭代器。增强for遍历和Lambda表达式:仅仅想遍历,那么使用增强for或Lambda表达式。普通for:如果遍历的时候想操作索引,可以用普通for。上面我们说到哈希值和哈希表,值得注意的是如果集合中存储的时自定义对象则必须重写hashcode和equals方法这样hashcode计算的就是属性值而不是地址值同样equals方法比较的就是属性值而不是地址值。
2024-12-11 18:21:13
715
1
原创 #-Java-常见的算法和Arrays类、Lambda表达式
但是排序之后,会改变原有数据的顺序,查找出来元素位置跟原来的元素可能是不一样的,所以排序之后再查找只能判断当前数据是否在容器当中,返回的索引无实际的意义。斐波那契查找的平均性能比二分查找好,特别是在数据量较大且分布比较均匀的情况下,因为它可以根据数据的分布特点动态地调整查找区间。当然返回数组的长度是不确定的,为了更加的符合要求,我们可以使用集合来存储符合条件的索引。然后我们会发现,随着斐波那契数列的递增,前后两个数的比值会越来越接近。插值查找是在二分查找的基础上改进的算法,使算法的时间效率更高。
2024-12-04 21:11:34
970
1
原创 #Java-JDK7、8的时间相关类,包装类
包装类是基本数据类型对应的引用数据类型(对象)使用包装类是为了数据的统一,因为只有引用数据类型才能使用集合,也只有类才可以使用Object来接收数据//代码使用一个类的成员变量来记录数值操作数据的方法。
2024-11-30 23:41:50
1005
原创 #JAVA-常用API-爬虫
非捕获分组不占用组号,仅仅是把数据括起来,并且括号内的数据是否进行获取还要看非捕获分组的分类。---- 第一个(?第二个切割的方法就是按照正则表达式去切割,把正则表达式匹配到的字符串当作断点切割。方法在多次调用时会依次往字符串的后面查找,所以可以使用循环找到所有的结果。有的时候我们要对爬取的内容作限制和修改,就用到了待条件爬取的规则。但是上述的代码只能返回一个匹配的结果,所以我们需要用到循环。默认的爬取方式为贪婪爬取,我们怎么样使用非贪婪爬取呢?我们在正则表达式的讲解中可以使用字符串的方法。
2024-11-29 14:44:04
1810
原创 #Java-常用API-BigInteger、BigDecima、正则表达式
上面的代码都是只能用于一个字符的匹配,所以为了代码的方便和简练,我们引入数量词的概念——在表达式后边加上不同的符号表示不同的数量。所以说小数在编译器中做的运算和存储有很大可能是不精确的,为了解决这个问题,我么可以使用。如果进行打印我么可以知道,输入结果的小数精度很大,但是任然可能是不精确的。在我们对字符串进行处理的时候往往会有很多的规则,我们通常的做法是使用。在Java中表示的是转义字符,作用是把一些特殊的字符转义为普通字符。这个构造方法创建的对象保存数字是精确的。下面的式子,一个式子只匹配一个字符。
2024-11-25 23:34:05
796
原创 #Java-常用API-Math、System、Runtime、Object
应用程序编程接口API就是别人已经写好的东西, 我们直接使用即可。例如我们前面说过的RandomJava API: 指的就是JDK中提供的各种功能的Java类这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。exit()有两个形参:0 : 表示当前虚拟机正常停止非0 :表示当前虚拟机异常停止System.out.println("不会执行打印语句");
2024-11-23 15:52:44
1147
原创 #Java-面向对象进阶-内部类
匿名内部类的使用场景:常常和多态结合使用,用于快速调用一个抽象类中的方法。实际按语法讲:上述的代码部分应该称为匿名内部类的对象,因为是用。当内部类是私有时,在测试类中使用内部类的父类进行接收(多态)调用静态内部类的非静态方法可以使用对象调用,静态方法推荐使用。返回的就是对象的地址,所以可以使用它直接创建一个内部类对象。内部类:在一个类的里面再定义一个类,里面的类就是内部类。和这两个类无关的其他类我们统称为外部其他类。匿名内部类本质上就是隐藏了名字的内部类。静态内部类是一种特殊的成员内部类。
2024-11-19 20:34:22
762
原创 #Java-面向对象进阶-接口
接口使用interfacepublic interface 接口名{}接口不能实例化(不能创建对象)接口和类之间是实现关系,通过implements关键字表示public class 类名 implements 接口名{}这样的类我们叫做:实现类接口的实现类要么重写接口中的所有抽象方法要么是抽象类注意1:接口和类的实现关系,可以单实现,也可以多实现。public class 类名 implements 接口名1,接口名2{}注意2:实现类还可以在继承一个类的同时实现多个接口。
2024-11-18 22:08:10
693
原创 #Java-包、final、权限修饰符、代码块
同时也被淘汰了,因为不够灵活,当我们有很多的构造方法时,我的其他的构造方法不需要用到构造代码块中的内容时,就造成的功能的错误。同时,先前我们提到字符串也是不可以被改变的:因为在存储字符串时,实际上使用的是数组,这个数组使用了。当我们把要进行输出的变量放到代码块中,变量在代码块外就销毁了,所以上述代码会报错,无法打印元素a。局部代码块:指的是在方法里边的代码块:作用是提前结束变量的生命周期,节省内存。不同包下的子类:指的是在不同包内,但是他们的父类是相同的。:表示当使用这个类的时候使用的就是这个路径下的类。
2024-11-18 08:49:24
923
原创 #Java-面向对象进阶-多态
在编译的时候会看父类中有没有这个成员变量,如果有就编译成功,没有就报错。在编译的时候会看父类中有没有这个方法,如果有就编译成功,没有就报错。在对象中数据分为两块:一块是父类中的数据,另一块是子类中的数据。在运行代码的时候,实际获取的就是左边父类中成员变量的值。我们说过子类在调用方法时:编译看父类,运行看子类。:运行看右边:实际上运行的是在子类中重写的方法。可以修改其中的子类,同时下面的方法调用也会改变。补充:自动类型转换:类型小的自动转换为类型大的。,调用的时子类中的方法。:编译看左边: 当。
2024-11-16 14:43:10
654
原创 #Java-面向对象进阶-1
当在B中重写从C继承过来的方法(假设为方法M),在B的虚方法表中就把方法M改为了B中的。在虚方法表中会添加上子类自己的虚方法,这样在调用父类中的方法时,就可以直接在虚方法表中进行查找,而不需要一层一层向父类查找。不管是不是私有的成员变量,在创建子类的对象的时候,都会在堆内存中开辟一个包含父类中成员变量的方法。在Java中没有爷爷等的说法,以上面为例:父类B称为A的直接父类,父类C称为A的间接父类。在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法,是重写的方法。
2024-11-14 14:30:31
1211
原创 #Java-集合基础-ArrayList
类型的包装类书写有变化,其他的类型只需要把首字母大写即可。这是一个遍历集合的案例,在最后打印了遍历的结果和。再Java中有很多的集合类,我们现学习常用的。和数组类似,集合也需要规定存储的数据类型。类,Java在输出的时候是做了处理的。其他的方法使用同上相似,就不再赘述。泛型:用来限定存储的数据的类型。集合的基础操作到这里就结束啦。是用来存储多个元素的,但是。也同样可以实现多元素的存储。
2024-11-04 22:54:57
387
原创 #Java-对象补充及字符串详讲
Main类中的main方法创建了两个Person类的对象(person1和person2),并设置了它们的状态,然后调用了它们的方法。这并不意味着字符串对象失去了唯一性,对象是字符串(例如:“abcdef”),它在内存中的地址是唯一的,但是这个地址可以被多个变量所引用。状态和行为:对象的状态由它的成员变量(属性)表示,而对象的行为则由它的方法定义。成员变量表示对象的状态,而方法则定义了对象的行为。类的对象后,这个对象就像一个缓存的中间容器,可以把字符串都暂时存储再这个容器中进行连接,而不会产生新的字符串。
2024-10-30 19:34:23
997
原创 #java-面向对象基础
在Java中new关键字扮演着非常重要的作用。它的主要作用是创建对象的实例。当你使用new时,实际上是在告诉Java虚拟机(JVM)你要根据指定的类来分配内存,并创建一个这个类的实例(即对象)数组创建:使用new关键字创建int[]类的实例修饰符:在Java中修饰符是一种特殊的关键字,它们是用于修饰类、方法、变量以及构造函数,从而改变这些成员的行为、访问权限或者其他特性。
2024-10-25 16:42:48
1121
原创 【python基础语法】
使用三引号的时候,如果不使用变量接收字符引号中的内容,就会当作普通的多行注释处理当使用三引号作字符串时,可以换行,输出的内容也会换行引号的嵌套:,就会无法输出,因为两个双引号自行进行了配对,中间的内容就不在引号内;单双引号互相嵌套print("'Land'")# 输出结果为:‘land’# 输出结果为:“Jack”使用转义字符# ‘kand’# "Jack"
2024-10-21 13:40:03
864
原创 【python入门】
python作为当下热度极高的编程语言,它的优点和用途是显而易见的:我们简单的在命令行窗口,写第一个python程序:输出在上面我们提到的在命令行编写中,我们只能输入一行语句,按下回车之后就会立即执行,不能一次性执行多行代码我们也可以在记事本中编写:我们上面提到,python代码的编写可以在命令行也可以在记事本中,但这种开发效率较低,不适用于复杂项目的开发我们在开发项目时,使用的时第三方集成工具,如软件PyCharm官网: https://www.jetbrains.com/zh-cn/步骤:1.下
2024-10-18 18:41:53
511
原创 【Java数组和方法】
方法是一种语法结构,它可以把一段代码封装成一个功能以便重复调用修饰符 返回值类型 方法名(形参列表){方法体代码(需要执行的功能代码)return 返回值;方法修饰符 返回值类型 方法名(形参列表)return c;修饰符暂时先这样写,后续会将形参:指的是在方法中运行的参数,是实参的拷贝形参可以为空当返回值类型不为空的时候,方法中一定要有return语句函数名(实参列表);在函数的调用时,我们直接传入了参数,并且函数的返回值可以赋值或者直接输出。
2024-10-15 16:04:19
681
原创 【JAVA基础语法】
首先我们明白数据在计算机中的存储并不是我们生活中的阿拉伯数字,而是按照二进制编码的形式。二进制:只有0、1,并且进位按的是逢二进一的方法在内存中表示数据的最小单位是字节。
2024-10-15 13:52:15
1039
原创 【Java入门】
IDEA管理Java程序的结构project(项目,工程)module(模块)package(包)class(类)在配置完成环境后,我们来了解新建一个工程的方法是用来记住程序要处理的数据的量变量本质就是在内存中的一块区域,可以理解为一个封装数据的盒子,并且在盒子中的数据是可以被修改的。
2024-10-15 13:28:33
892
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人