leetcode够用之java语法

常用方法

Arrays.sort()排序
import java.util.Arrays;public class Main {public static void main(String[] args) {int[] numbers = {9, 2, 5, 1, 7, 3};Arrays.sort(numbers);System.out.println(Arrays.toString(numbers)); // 输出: [1, 2, 3, 5, 7, 9]}
}

获取str中的第i-1个字符

str.charAt(i);
String[] str = {"abc","def"};
System.out.println(str[0].charAt(0));
//输出 a
去除字符串str开头和末尾的空格
str.trim()
substring截取字符串str.subtring(从此下标,往后要这么多个)
String[] str = {"abc","def"};
System.out.println(str[0].substring(0,3));
//输出abc
判断字符串某位是不是数字
Character.isDigit(s.charAt(i))
//true 或者 false

######删除字符串中的某一字符(str得是StringBuilder或StringBuffer)

str.deleteCharAt(i);
把String类型转换为StringBuilder或StringBuffer
String str = "Hello, StringBuilder!";
StringBuilder stringBuilder = new StringBuilder(str);

调试模式时,高亮的行,是将要执行的语句(还未执行)

ctrl+shift+F8 查看程序所有断点

IDEA块缩进:

tab

shift+tab

String.toCharArray() 是一个内置的方法,用于将字符串(String 类型)转换为字符数组(char[] 类型)。这个方法非常有用,当你需要直接访问或操作字符串中的每个字符时,它可以提供便利。(java中的字符串String是不可变的,相比之下,StringBuffer(线程安全) 和 StringBuilder(性能优) 类提供了可变的字符串操作。)

char[] charArray = someString.toCharArray();

例子👇

public class Main {public static void main(String[] args) {String exampleString = "Hello, World!";char[] charArray = exampleString.toCharArray();// 打印字符数组for (char ch : charArray) {System.out.print(ch + " ");}}
}
// 正则匹配连续的空白字符作为分隔符分割(s为String)List<String> wordList = Arrays.asList(s.split("\\s+"));
// 反转数组
Collections.reverse(wordList);

Math.min和Math.max

比较两个或多个数值,并返回其中的最小值或最大值

例子👇

Math.min(leftMin[i - 1], nums[i]);
Math.max(rightMax[i + 1], nums[i]);

统计数组中的累加和👇

public int pivotIndex(int[] nums) {int total = Arrays.stream(nums).sum();

数组计长用.length 字符串计长用.length()

哈希表(快速查询)

HashMap<Integer, Integer> cnt = new HashMap<>();

常用方法

  • put(K key, V value):向HashMap中添加一个键值对。如果键已存在,则用新值替换旧值。
  • get(Object key):根据键获取对应的值。如果键不存在,返回null
  • remove(Object key):根据键移除键值对。
  • clear():清空HashMap中的所有映射。
  • size():返回HashMap中的键值对数量。
  • containsKey(Object key):判断HashMap是否包含指定的键。
  • containsValue(Object value):判断HashMap是否包含指定的值。

hashmap.merge(key, value, remappingFunction)

把两个值处理之后的结果作为value去更新map中以key为键的值,最后再将这个值返回给调用者

merge方法的第三个参数是一个BiFunction,它接收两个参数:当前键对应的旧值(如果存在)和你试图合并的新值,并返回一个结果值作为合并后的值。这个函数的设计完全取决于你的需求,你想怎么实现都可以,只要符合函数的签名要求即可。

注:hashmap 是 HashMap 类的一个对象。
参数说明:
key - 键
value - 值
remappingFunction - 重新映射函数,用于重新计算值

Iterator迭代器

不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。——阿里巴巴开发手册第一章第十一条强制约规

​ Iterator接口包含了三个主要方法:

  • hasNext():检查是否还有更多的元素可以迭代。
  • next():返回迭代的下一个元素。
  • remove():从底层集合中移除迭代器返回的最后一个元素。
public static void main(String[] args) {List<String> names = new ArrayList<>();names.add("Alice");names.add("Bob");names.add("Charlie");Iterator<String> iterator = names.iterator();while (iterator.hasNext()) {System.out.println(iterator.next());}}

Lambda表达式

类似JS中的箭头函数

(parameters) -> { statements; }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/25182.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《软件定义安全》之二:SDN/NFV环境中的安全问题

第2章 SDN/NFV环境中的安全问题 1.架构安全 SDN强调了控制平面的集中化&#xff0c;从架构上颠覆了原有的网络管理&#xff0c;所以SDN的架构安全就是首先要解决的问题。例如&#xff0c;SDN实现中网络控制器相关的安全问题。 1.1 SDN架构的安全综述 从网络安全的角度&…

@BeforeAll 和 @AfterAll 必须是 static 的原因

BeforeAll 和 AfterAll 必须是 static 的原因 执行时机&#xff1a; BeforeAll 方法在所有测试方法之前运行。AfterAll 方法在所有测试方法之后运行。 实例化前/后的执行&#xff1a; 因为 BeforeAll 是在所有测试方法执行之前运行的&#xff0c;所以它在任何一个测试实例创建…

基于springboot的教学管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;教师管理&#xff0c;学生管理&#xff0c;课程管理 教师账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;学生管理&#xff0c;课程管理&#xff0c;课程表…

Oracle 数据库的自动化工具:AWR 和 ASM

Oracle 数据库提供了一系列工具和技术&#xff0c;以提高数据库管理的效率和性能。其中&#xff0c;AWR和 ASM是两个关键组件。本文将详细介绍 AWR 和 ASM 的功能及其在数据库管理中的重要性。 AWR AWR 是 Oracle 数据库的一个核心部分&#xff0c;用于收集、处理和维护数据库…

数据结构---树与二叉树

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

【CTF MISC】XCTF GFSJ0290 reverseMe Writeup(图像处理)

reverseMe 暂无 解法 导入 Photoshop。 水平翻转&#xff0c;得到 flag。 Flag flag{4f7548f93c7bef1dc6a0542cf04e796e}声明 本博客上发布的所有关于网络攻防技术的文章&#xff0c;仅用于教育和研究目的。所有涉及到的实验操作都在虚拟机或者专门设计的靶机上进行&#xf…

QField如何打开工程或数据文件

Field有个文件选择器&#xff0c;允许从本地设备打开工程。如果想从云端打开文件&#xff0c;请参阅 QFieldCloud 。 注意&#xff1a;请注意&#xff0c;卸载QField时&#xff0c;应用程序文件夹将被删除&#xff0c;而更新则不会。 导入并打开本地工程 QField界面 当转到 …

了解Synchronized对象头?

1、对象头的结构 Java对象存储在内存中结构为&#xff1a; 对象头&#xff08;Header&#xff09;&#xff1a;实例数据&#xff08;Instance Data&#xff09;&#xff1a;定义类中的成员属性对齐填充字节&#xff08;Padding&#xff09;&#xff1a;由于HotSpot虚拟机的自…

Web Dart前端:探索、挑战与未来展望

Web Dart前端&#xff1a;探索、挑战与未来展望 在数字化浪潮的推动下&#xff0c;Web前端技术日新月异&#xff0c;其中Dart语言作为一种高效且灵活的编程语言&#xff0c;正逐渐在Web前端领域崭露头角。然而&#xff0c;Dart在Web前端的应用仍面临诸多挑战和未知。本文将从四…

Linux--进程间通信(system V共享内存)

目录 1.原理部分 2.系统调用接口 参数说明 返回值 1. 函数原型 2. 参数说明 3. 返回值 4. 原理 5. 注意事项 3.使用一下shmget&#xff08;一段代码&#xff09; 4.一个案例&#xff08;一段代码) 1.简单封装一下 2.使用共享内存 2.1挂接&#xff08;shmat&#x…

Java 语言概述 -- Java 语言的介绍、现在、过去与将来

大家好&#xff0c;我是栗筝i&#xff0c;这篇文章是我的 “栗筝i 的 Java 技术栈” 专栏的第 001 篇文章&#xff0c;在 “栗筝i 的 Java 技术栈” 这个专栏中我会持续为大家更新 Java 技术相关全套技术栈内容。专栏的主要目标是已经有一定 Java 开发经验&#xff0c;并希望进…

直接赋值导致响应式断开,前端深浅拷贝

title: 直接赋值导致响应式断开&#xff0c;前端深浅拷贝 date: 2024-06-08 09:56:05 tags: vue3 vue3中的ref对象的深浅拷贝问题&#xff0c;实际应用出现的相关的问题。 概念总述 浅拷贝 仅仅复制了数据&#xff0c;没有改变他原来的引用。 表现&#xff1a;当你对新对象…

Unity3D EventMgr事件订阅与发布详解

在游戏开发过程中&#xff0c;经常需要处理各种事件&#xff0c;比如角色的移动、碰撞、攻击等。为了更好地管理和处理这些事件&#xff0c;Unity3D提供了EventMgr事件订阅与发布机制&#xff0c;通过该机制可以实现不同对象之间的事件通信&#xff0c;让游戏逻辑更加清晰和灵活…

LLVM Cpu0 新后端7 第一部分 DAG调试 dot文件 Machine Pass

想好好熟悉一下llvm开发一个新后端都要干什么&#xff0c;于是参考了老师的系列文章&#xff1a; LLVM 后端实践笔记 代码在这里&#xff08;还没来得及准备&#xff0c;先用网盘暂存一下&#xff09;&#xff1a; 链接: https://pan.baidu.com/s/1V_tZkt9uvxo5bnUufhMQ_Q?…

单线服务器与双线服务器的区别?

单线服务器和双线服务器之间有什么区别呢&#xff1f;接下来就让小万来为大家具体分析一下吧&#xff01; 首先单线服务器和双线服务器之间运营商的性质是不同的&#xff0c;单线服务器主要是一家带宽运营商&#xff0c;而双线服务器则是有两家运营商提供带宽的线路。 单线服务…

spring两种代理方式

Spring 提供了两种主要的代理&#xff08;proxy&#xff09;方式&#xff0c;分别是基于JDK动态代理和基于CGLIB的代理。这两种代理方式各有其特点和适用场景。 1. JDK动态代理 特点&#xff1a; - 基于Java的接口&#xff08;Interface&#xff09;。 - 代理类必须实现一个或…

contos7使用docker安装vulhub

contos7下使用docker安装vulhub 1. 安装docker 1. 更新yum &#xff08;1&#xff09;切换root用户 su root &#xff08;2&#xff09;更新yum yum update 2. 卸载旧版本的docker sudo yum remove docker sudo yum remove docker-client sudo yum remove docker-clien…

【个人博客搭建】(21)使用AutoMap对象映射

在.NET WebAPI项目中&#xff0c;使用AutoMap进行对象映射是一种高效的数据处理方式。通过自动映射机制&#xff0c;可以极大地简化对象之间的转换过程&#xff0c;提高代码的可维护性和整洁性。下面将详细探讨如何在.NET WebAPI中使用AutoMap进行对象映射&#xff1a; 安装和配…

高并发ping多台主机IP

简介 社区或者是大型公司往往有成千上万或者几百台设备&#xff0c;保持设备始终在线对网络运维人员来说至关重要&#xff0c;然而一个一个登录检查&#xff0c;或者一个一个ping并不明智&#xff0c;累人且效率极低&#xff0c;并出错率高。花钱买检测服务当我没说。 shell编…

K210视觉识别模块学习笔记5:(嘉楠)训练使用模型_识别人脸

今日开始学习K210视觉识别模块:(嘉楠)训练与使用模型_识别人脸 亚博智能的K210视觉识别模块...... 固件库版本: canmv_yahboom_v2.1.1.bin 之前的训练网址部署模型时需要我们自己更换固件&#xff0c;而且还不能用亚博的图像操作库函数了&#xff0c;这十分不友好&#xff0…