- 博客(64)
- 收藏
- 关注
原创 Java8方法引用:简洁高效的编程利器
方法引用是Java 8引入的Lambda表达式的一种简化写法,用于直接引用已有的方法。它通过符号连接目标对象或类与方法名,适用于函数式接口的实现。方法引用分为静态方法引用、实例方法引用、构造方法引用等类型。//需求:创建一个数组,进行倒序排列//匿名内部类@Override});*///lambda表达式//因为第二个参数的类型Comparator是一个函数式接口});*///lambda表达式简化格式//方法引用//1.引用处需要是函数式接口//2.被引用的方法需要已经存在。
2025-06-28 00:07:47
390
原创 Stream终结方法详解
终结方法是Stream流操作的最终步骤,触发流的计算并返回非Stream类型的结果。:对流中每个元素执行操作,无返回值。:将流转换为集合或其他数据结构。:在并行流中保证顺序性。:判断元素是否匹配条件。:根据比较器返回最值。:返回首个或任意元素。:返回流中元素数量。
2025-06-26 17:26:26
401
原创 Stream流中间方法的使用
Stream流的中间方法指那些返回新Stream的操作,允许链式调用。这些方法通常用于数据过滤、映射、排序等操作,不会触发最终计算。filter用于筛选满足条件的元素,接受一个Predicate函数式接口参数。map用于元素转换,接受Function接口参数,将元素映射为另一种形式。flatMap用于将嵌套结构扁平化,每个元素转换为新的Stream后合并。distinct去除重复元素,依赖元素的equals方法。peek用于调试,允许查看流经的元素但不修改。skip跳过前N个元素。
2025-06-26 10:20:23
346
原创 Java8 Stream流:Stream流的思想和获取Stream流
Stream流是Java 8引入的一种处理集合数据的抽象概念,其核心思想是将数据源(如集合、数组等)转化为流,通过链式调用一系列中间操作(如过滤、映射、排序等)对数据进行处理,最后通过终端操作(如收集、计数等)生成结果。,能够高效处理大量数据且代码可读性强。,能够高效、简洁地处理数据。Stream流的核心优势在于。)需先转换为单列集合(如。
2025-06-25 21:38:16
480
原创 Java不可变集合:安全编程必备
不可变集合(Immutable Collections)是指一旦创建后,其内容不能被修改的集合。Java 提供了多种方式创建不可变集合,包括。不可变集合在多线程环境下安全,适合作为常量数据或缓存使用。通过合理使用不可变集合,可以提升代码的安全性和可维护性。
2025-06-25 19:36:41
472
原创 Java Collections工具类:高效集合操作
Collections是Java提供的集合操作工具类,位于java.util包中,包含大量静态方法,用于对ListSetMap等集合进行排序、查找、替换、同步化等操作。
2025-06-22 14:15:33
340
原创 Java可变参数:灵活编程的秘密武器
Java中的可变参数(Varargs)允许方法接受数量不定的同类型参数,简化了方法调用时的参数传递。可变参数通过在参数类型后添加。通过合理使用可变参数,可以显著提高代码的灵活性和可读性,特别是在需要处理不定数量参数的场景下。可变参数适用于参数数量不确定但类型相同的场景,例如日志记录、数值计算等。实现,本质上是一个数组,但在调用时可以传入多个单独的参数。
2025-06-21 15:29:05
346
原创 TreeMap的基本了解
如果 TreeMap 的键是自定义对象,该对象必须实现Comparable接口或传入一个Comparator对象,以确保键的可排序性。@Override@Override// 输出: {Alice (25)=Engineer, Bob (30)=Doctor, Charlie (35)=Teacher}如果不想修改自定义对象的类,可以通过传入Comparator@Override。
2025-06-21 11:54:54
566
原创 深入剖析HashMap与LinkedHashMap应用
顺序性:HashMap 无序;LinkedHashMap 有序(插入或访问顺序)。性能:HashMap 略优于 LinkedHashMap。应用场景:需快速查找用 HashMap;需顺序遍历(如 LRU 缓存)用 LinkedHashMap。
2025-06-20 14:45:47
332
原创 Java Map集合高效遍历
键找值:适合需要单独操作键或值的场景。键值对:高效且代码简洁,推荐使用。Lambda:代码最简洁,适合Java 8及以上版本。
2025-06-20 10:48:32
544
原创 Java泛型编程全解析
泛型类是指使用类型参数的类,允许在定义类时不指定具体的类型,而是在实例化时指定。泛型类可以提高代码复用性和类型安全性。泛型方法是在方法声明中使用类型参数的方法,可以出现在普通类或泛型类中。泛型方法允许在调用时指定具体的类型。泛型接口是在接口中使用类型参数,实现类可以选择具体类型或保持泛型。表示未知类型,常用于泛型集合的操作中。不能直接实例化类型参数(如。),也不能用于静态上下文中。泛型类型不能是基本类型(如。),必须使用包装类(如。
2025-06-16 22:45:29
537
原创 栈与队列:数据结构优劣全解析
栈的空间复杂度通常为 O(n),n 为栈中元素数量。栈和队列适合特定逻辑场景。队列是一种线性数据结构,遵循先进先出(FIFO)原则。数据从队尾插入(入队),从队头删除(出队)。栈是一种线性数据结构,遵循后进先出(LIFO)原则。数据只能从栈顶插入(压栈)和删除(弹栈)。队列的实现方式包括数组队列和链表队列。循环队列可以优化数组队列的空间利用率,避免频繁扩容。链表适合频繁增删的场景,但查询性能较差。数组是一种连续存储的线性数据结构,通过索引直接访问元素。链表是一种非连续存储的线性数据结构,通过指针连接节点。
2025-06-13 12:55:13
500
原创 Java List操作与遍历全攻略
以上代码展示了List的常见操作方法及五种遍历方式,每种方式适用于不同场景。for循环适合需要索引的情况,增强for循环简单易用,Iterator适合在遍历时删除元素,ListIterator支持双向遍历,forEach方法则简洁高效。List是Java集合框架中最常用的接口之一,提供了多种操作元素的方法。以下是List常见的方法。
2025-06-12 15:27:15
577
原创 Java Collection接口解析
Collection是Java单列集合的顶层接口,定义了所有单列集合共性的方法。List、Set、Queue等子接口都继承自Collection。它提供了对集合元素的基本操作,如添加、删除、遍历等。红色为接口,蓝色为实现类。。List系列集合:添加的元素是有序、可重复、有索引Set系列集合:添加的元素是无序、不重复、无索引。
2025-06-11 12:39:27
508
原创 Java数组Arrays操作全攻略
Java中的Arrays类位于java.util包中,提供了一系列静态方法用于操作数组(如排序、搜索、填充、比较等)。这些方法适用于基本类型数组和对象数组。
2025-06-09 23:17:11
659
原创 常见查找算法原理与应用详解
这些实现涵盖了从基础到高级的分块扩展查找算法,可根据具体数据特征和性能要求选择合适的方法。顺序查找是最简单的查找算法,从数据结构的一端开始,逐个检查每个元素,直到找到目标元素或遍历完整个结构。分块查找将数据划分为若干块,块内无序但块间有序。插值查找是二分查找的改进,通过计算目标值的位置来缩小范围。斐波那契查找利用斐波那契数列分割数组,适用于有序数据且数据量较大时。分块查找结合顺序查找和二分查找的思想,适合数据分块有序的场景。适用于超大规模数据的分块扩展查找。:数据分块存储且块间有序的查找。
2025-06-08 23:44:59
506
原创 揭秘Java8 Lambda表达式:让代码更简洁高效
Lambda表达式是Java 8引入的一种简洁的匿名函数实现方式,主要用于简化函数式接口的实现。其核心思想是将函数作为参数传递或直接定义在需要的地方。定义并使用自己的函数式接口。// 输出: 20。
2025-06-08 23:13:02
434
原创 Java包装类:从入门到精通
Java包装类(Wrapper Classes)用于将基本数据类型转换为对象,属于java.lang包。每个基本数据类型都有对应的包装类,如Integer对应int,Double对应double等。包装类的主要作用包括对象化操作、集合存储、泛型支持以及提供实用方法。包装类还提供与基本类型对应的常量和方法,如Integer.SIZE表示int类型的位数(32),Integer.BYTES表示int类型的字节数(4)。自动装箱和拆箱是Java5引入的特性,简化了包装类的使用。包装类提供灵活的类型转换方法。
2025-06-08 15:30:07
269
原创 Java时间API终极指南
Java 提供了多个时间相关的 API,主要包括java.time包(Java 8 引入)。其中,java.time是最现代且功能最全面的时间 API。以下分为新旧 API 分别介绍。java.timejava.time(推荐):功能丰富,线程安全,适用于现代 Java 应用。Calendar(旧 API):存在设计缺陷,建议仅用于兼容旧代码。使用时优先选择java.time包,代码更简洁、可读性更强。
2025-06-04 17:07:50
521
原创 Java爬虫开发:5大实战技巧全解析
是一个专为 HTML 解析设计的库,支持 DOM 操作和 CSS 选择器。适用于需要模拟浏览器行为(如 JavaScript 渲染)的场景。Java 提供多种 API 支持网络爬虫开发,主要涉及。是 Java 标准库中处理 HTTP 请求的基础类。以下是常见应用场景及核心方法说明。)适合处理 cookies、重定向等复杂场景。
2025-06-03 15:34:58
535
原创 正则表达式在Java中的应用(补充)
正则表达式常用于验证输入(如邮箱、电话号码)、字符串分割和替换。Java还支持分组捕获、贪婪/懒惰匹配等高级特性。注意转义字符需双重反斜杠(匹配以1开头,第二位为3-9的数字,后面跟随9位任意数字的组合(总长度11位)注:测试用例覆盖了合法和非法边界情况,正则表达式通过。基本语法遵循标准正则规则,如。包提供正则表达式支持,核心类包括。用于编译正则表达式模式,方法实现完全匹配验证。
2025-06-02 15:25:50
581
原创 Java BigDecimal详解:精准计算必备指南
BigDecimal类用于解决浮点数精度丢失问题,特别适合金融计算、科学计算等需要精确小数运算的场景。通过可变精度设计和十进制存储机制,可精确表示任意精度的数值。在double类型中成立,但使用BigDecimal可确保计算精确性。(即去掉小数点后的整数),(即去掉小数点后的整数),(即去掉小数点后的整数),(小数点需要右移3位)。(小数点需要右移3位)。(小数点需要右移1位)。因此,实际存储的数组为。,这些数字分别代表字符。因此,实际存储的数组为。,这些数字分别代表字符。因此,实际存储的数组为。
2025-06-01 15:50:31
1009
原创 Java BigInteger类详解与应用
通过合理运用BigInteger类,开发者可以处理任意精度的整数运算需求,适用于金融计算、密码学、科学计算等领域。注意根据具体场景选择合适的方法,并做好异常处理与性能优化。Biglnteger b1 = new Biglnteger("整数");2.如何获取BigInteger的对象?总结:1.Biglnteger表示一个大整数。
2025-05-31 16:10:35
2005
原创 Java对象克隆:从浅到深的奥秘
2.深克隆 完全独立复制对象及其关联对象: 2.嵌套对象克隆测试对象关系拓扑:内存模型表现: 3.修改传播特性:
2025-05-31 15:53:28
401
原创 掌握Java Runtime类的核心用法
包中,用于与 Java 运行时环境(JVM)交互。每个 Java 应用程序都有一个。类提供了与系统资源交互、执行外部命令和关闭 JVM 等功能。方法注册一个线程,在 JVM 关闭时执行特定任务。提供了多个方法获取 JVM 内存和处理器信息。方法手动触发垃圾回收,释放未使用的内存。方法用于执行操作系统的命令,返回一个。示例,展示内存信息和执行外部命令。实例,可以通过静态方法。获取当前 JVM 的。对象,可以管理子进程。方法用于终止 JVM。
2025-05-30 15:21:27
419
原创 Java System类核心用法详解
Java中的System类是java.lang包下的一个最终类,提供与系统相关的标准输入、输出、错误流、环境变量、系统属性等访问方法。所有方法均为静态方法,无需实例化即可调用。
2025-05-30 15:17:18
377
原创 ManusAI:多语言手写识别的技术突破
以上实现方案通过模块化设计支持 54 种语言文字识别,典型测试集(IAM, CASIA-HWDB 等)平均字符错误率低于 2.7%,混合语言场景识别准确率达 89.3%。训练采用 128 维混合字符嵌入空间,支持动态扩展新语种。其中 M 包含笔迹、语音、上下文等多种模态。
2025-05-22 14:33:46
487
原创 DeepSeek:AI助手如何革新工作效率
通过设置规则和触发条件,用户可以将繁琐的工作交给 DeepSeek 处理,从而专注于更具创造性的任务。通过这种结构化、场景化的提问方式,可以精准获取所需信息,建议配合具体数据参数(时间范围/数据类型/精度要求)使用效果更佳,例如:"分析2023年Q2社交媒体数据,识别TOP10话题及其情感倾向,置信度需达90%以上"通过开发自定义脚本或应用,可以进一步扩展 DeepSeek 的能力,满足特定工作场景的需求。结果过滤方法 示例指令:"过滤过去三个月内,关于AI制药领域的一手调研报告,排除社交媒体来源"
2025-05-19 10:51:04
876
原创 用Python代码绘制动态3D爱心效果
总结本文介绍的几种创意Python爱心代码实现方法,鼓励读者尝试并扩展这些代码,创造出更多有趣的视觉效果。
2025-05-15 21:50:03
338
原创 VMware中快速安装与优化Ubuntu全攻略
通过以上步骤,可以在VMware中成功安装并配置Ubuntu系统。安装VMware Tools可以提高虚拟机的性能和功能,配置网络和安装常用软件可以满足日常使用需求。系统优化可以进一步提升系统性能,确保虚拟机运行流畅。
2025-05-15 20:47:46
750
原创 MATLAB安装全攻略:常见问题与解决方案
安装路径避免包含空格或中文确保系统时间与时区设置正确企业用户建议配置本地许可证缓存服务器注:本文示例基于MATLAB R2023a版本,具体参数请以实际版本为准。
2025-05-15 20:33:07
510
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人