Java刷题API

因为经常用Java刷题,记录一下常用到的API

数组

1. 定义(两种方法)

type arrayName[]; //第一种
type[] arrayName; //第二种//eg
int arrayName[] = new int[5];
int[] arrayName = new int[5];//二维数组
int arrayName[][] = new int[5][5];
int[][] arrayName = new int[5][5];

type 为Java中的任意数据类型,包括基本类型和引用类型,arrayName为数组名,必须是一个合法的标识符,[ ] 指明该变量是一个数组类型变量,[ ]的数量表示数组的维度,可以有多个,表示多维度数组。Java实际上没有多维数组,只有一维数组。多维数组可以理解为“数组的数组” ,比如二维数组其实是一个一维数组,数组中每个元素是一个一维数组。

2. 初始化

//静态初始化
int[] arr=new int[]{1,2,3};//动态初始化
String[] strArr=new String[3];
strArr[0]="Hello";
strArr[1]="World";
strArr[2]="Hello World";

字符串

1. 创建并初始化

String str = new String("XXX"); //参数可以是字符串常量,也可为字符数组
String str = "XXX"; //参数可为字符串常量,可为String.valueOf()系列的返回值

前者是java中标准的对象创建方式,其创建的对象将直接放置到堆中,每调用一次就会创建一个新的对象;后者则会在栈中创建一个对象引用变量str,然后查看字符串池中是否存在"XXX",如果没有,则将"XXX"存放字符串池,并令引用变量str指向它;如果已经有"XXX",则直接令str指向它。

2. 常用方法

charAt(int index); //返回index位置的字符char --- O(1)length(); //返回字符串长度 --- O(1)substring(int beginIndex, int endIndex); //返回字符片段[beginIndex, endIndex) --- O(n)
substring(int beginIndex); //返回字符片段[beginIndex, end_of_String) 就是从beginIndex开始后面的 ---- O(n)indexOf(String str); //返回str第一个出现的位置(int),没找到则返回-1。 --- O(m * n) m为原串长度, n为str长度
s.indexOf(String str, int fromIndex); //同上,但从fromIndex开始找 --- O(m * n)lastIndexOf(String str); //返回str最后出现的位置(int),没找到则返回-1。 --- O(m * n) m为原串长度, n为str长度
lastIndexOf(String str, int fromIndex); //同上,但从fromIndex开始从后往前找 [0 <- fromIndex] --- O(m * n)replace(char oldChar, char newChar); //返回一个新字符串String,其oldChar全部变成newChar --- O(n)toCharArray(); //返回char[]数组。把String变成字符数组 --- O(n)trim(); //去除前后空格的新字符串 --- O(n)split(String regex); //返回String[],以regex(正则表达式)分隔好的字符换数组。 ---- O(n)
//eg:"nanjing" -> [, a, ji, g] (一定要注意,参数可以适合正则表达式的)
String str = "nanjing";System.out.println(Arrays.toString(str.split("n")));toLowerCase(); //返回一个新的字符串全部转成小写 --- O(n)
toUpperCase(); //返回一个新的字符串全部转成大写 --- O(n)

3. java.lang.StringBuilder

  • 创建对象
StringBuilder sb = new StringBuilder();
  • 常用方法
charAt(int index); //返回index位置的char --- O(1)length(); //返回缓冲字符串长度 --- O(1)append(String str); //拼接字符串 --- O(n)toString(); //返回一个与构建起或缓冲器内容相同的字符串 --- O(n)

比较器(关键)


Arrays.sort(people, new Comparator<int[]>() {@Overridepublic int compare(int[] a, int[] b) {if (a[0] == b[0]) {return a[1] - b[1]; // 按照k值升序排列} else {return b[0] - a[0]; // 按照身高降序排列}}
});//lambda简化
Arrays.sort(people, (a, b) -> {if (a[0] == b[0]) return a[1] - b[1];   // a - b 是升序排列,故在a[0] == b[0]的狀況下,會根據k值升序排列return b[0] - a[0];   //b - a 是降序排列,在a[0] != b[0],的狀況會根據h值降序排列
});

集合常用操作

链接: 集合常用方法

各种转换

  • 字符数组转字符串
String.valueOf(chars)
  • 字符串转字符数组
s.toCharArray();
  • 字符串转数字
Integer.parseInt(s);
  • 数字转字符串
String s = String.valueOf(n);

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

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

相关文章

【 基于Netty实现聊天室聊天业务学习】第4节.什么是BIO与NIO

IO在读写的时候是阻塞的&#xff0c;无法做其他操作&#xff0c;并发处理能力的非常低&#xff0c;线程之间访问资源通信时候也是非常耗时久&#xff0c;依赖我们的网速&#xff0c;带宽。 我们看一下他的白话原理 我们来看一下这张图那么这张图的话它里面有一个server还有三个…

【C++题解】1607. 两位数运算

问题&#xff1a;1607. 两位数运算 类型&#xff1a;基本运算、拆位求解 题目描述&#xff1a; 小丽在编程课上学会了拆位运算&#xff0c;她已经可以拆出一个两位整数的十位和个位了&#xff0c;她想知道这个整数的十位 / 个位的结果是多少&#xff0c;请编程帮她实现&#…

【问题处理】银河麒麟操作系统实例分享,adb读写缓慢问题分析

1.问题环境 处理器&#xff1a; HUAWEI Kunpeng 920 5251K 内存&#xff1a; 512 GiB 整机类型/架构&#xff1a; TaiShan 200K (Model 2280K) BIOS版本&#xff1a; Byosoft Corp. 1.81.K 内核版本 4.19.90-23.15.v2101.ky10.aarch64 第三方应用 数据库 2.问题…

深度学习--CNN应用--VGG16网络和ResNet18网络

前言 我们在学习这两个网络时&#xff0c;应先了解CNN网络的相关知识 深度学习--CNN卷积神经网络&#xff08;附图&#xff09;-CSDN博客 这篇博客能够帮我们更好的理解VGG16和RetNet18 1.VGG16 1.1 VGG简介 VGG论文网址&#xff1a;VGG论文 大家有兴趣的可以去研读一下…

pinpoint接入及接入tomcat

# 5、pinpoint接入 1、开启性能监控 应用管理详情页面-->【属性】编辑&#xff0c;勾选开启用性能监控 2.java命令行引用pinpoint和相关变量 java $JAVA_OPTS -javaagent:/usr/local/pinpoint-agent/pinpoint-bootstrap-1.7.2.jar -Dpinpoint.agentIddcs-repair-${HOSTNAME…

k8s集群安装网络插件calico常见问题

关于calico网络插件报错的常见问题处理 1.安装calico插件时&#xff0c;calico相关pod无法成功运行。 报错信息&#xff1a;“MountVolume.SetUp failed for volume "bpffs" : hostPath type check failed: /sys/fs/bpf is not a directory”解决办法&#xff1a;检…

互联网摸鱼日报(2024-04-19)

互联网摸鱼日报(2024-04-19) 36氪新闻 魏建军把方向盘交给AI&#xff0c;长城汽车开卷智能驾驶 一季度我国工业经济保持较快增长&#xff0c;下一步这么做 晶华光学北交所IPO问询分析&#xff1a;利润下滑和存货计提是否充分或成公司能否上会的关键性问题 这10 本改变人生的…

【智能算法】鸡群优化算法(CSO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2014年&#xff0c;X Meng等人受到鸡群社会行为启发&#xff0c;提出了鸡群优化算法&#xff08;Chicken Swarm Optimization, CSO&#xff09;。 2.算法原理 2.1算法思想 CSO算法的思想是基于对…

数仓建模—物理数据模型

数仓建模—物理数据模型 前面我们讲了数据模型和逻辑数据模型,你可以参考前面的文章,这一节我们介绍一下物理数据模型 数仓建模—数据模型 数仓建模—逻辑数据模型 什么是物理数据模型 物理数据模型指定如何在数据库中构建数据模型。它概述了所有表结构,包括列名、数据类…

润开鸿与蚂蚁数科达成战略合作,发布基于鸿蒙的mPaaS移动应用开发产品

4月18日&#xff0c;江苏润和软件股份有限公司&#xff08;以下简称“润和软件”&#xff09; 旗下专注鸿蒙方向的专业技术公司及终端操作系统发行版厂商江苏润开鸿数字科技有限公司&#xff08;以下简称“润开鸿”&#xff09;与蚂蚁数科举行战略合作签约仪式&#xff0c;并发…

【Java开发指南 | 第十六篇】Java数组及Arrays类

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 数组数组特点创建数组处理数组多维数组Arrays类 数组 Java中的数组是一种用来存储固定大小的相同类型元素的数据结构。 数组特点 数组具有以下特点&#xff1a; 1、固定大小: 一旦数组被创建&#xff0c;其…

系统调优助手,PyTorch Profiler TensorBoard 插件教程

0x1. 前言 使用PyTorch Profiler进行性能分析已经一段时间了&#xff0c;毕竟是PyTorch提供的原生profile工具&#xff0c;个人感觉做系统性能分析时感觉比Nsys更方便一些&#xff0c;并且画的图也比较直观。这里翻译一下PyTorch Profiler TensorBoard Plugin的教程并分享一些…

Sui在Basecamp 2024上重塑区块链行业

Sui主网于去年推出&#xff0c;世界各地的社区活动帮助开发者了解了这一开创性的区块链技术的潜力&#xff0c;而Sui Basecamp表明Sui时代已经到来。 来自65个国家的超过1100人参加了今年在巴黎举办的Sui全球活动&#xff0c;以了解Sui在游戏和DeFi领域的坚实立足点。在两天的…

js DOM模型常用方法复盘梳理

大家好&#xff0c;我是资深前端之路&#xff0c;今天主要是在对常用的js基础知识进行复盘&#xff0c;回顾下最基础的知识&#xff0c;不断打地基。今天主要回顾的知识是以下几个内容&#xff1a; 1、什么是DOM 定义&#xff1a;文档对象模型&#xff0c;操作html标签的能力&…

什么是XXE攻击?如何进行防护

安全性很难做到正确&#xff0c;即使在当今具有安全意识的世界中&#xff0c;也存在一些严重的漏洞&#xff0c;例如 XML 外部实体 (XXE)&#xff0c;它们被忽视并最终成为破坏的原因。 XML 外部实体 (XXE) 攻击是一种计算机安全漏洞&#xff0c;通常存在于 Web 应用程序中&…

单字符 和 宽字符

#define PI 3.14 //产生新类型 typedef 3.14 PI单字符&#xff0c;一个字节存储&#xff0c;宽字符&#xff0c;二个字节存储。sizeof(L"abc")8 size("abc")4typedef unsigned short wchar_t; chartypedef wchar_t WCHAR; typedef char CHAR;WCHAR* p …

SpringBoot 项目Docker部署三种方式

一种&#xff1a;直接拷贝jar到服务器部署 1.增加docker配置文件 新建Dockerfile文件&#xff0c;负责Docker的配置 FROM openjdk:21#ENV timezone RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& echo Asia/Shanghai >/etc/timezone# WORKD…

项目活动图

关键路径&#xff1a; 从开始到结束的所有路径中&#xff0c;时间最长的一条为关键路径。&#xff08;特点&#xff1a;在关键路径上&#xff0c;所有任务的松弛时间都为0&#xff09;&#xff1b; 松弛时间&#xff1a; 最晚开始时间 – 最早开始时间&#xff1b; 所有的路…

解释Java中的容器化技术,如Docker和Kubernetes

容器化技术是近年来软件开发和运维领域的一项重大创新&#xff0c;它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中&#xff0c;从而实现快速、一致和高效的部署。在Java开发中&#xff0c;Docker和Kubernetes是两种非常流行的容器化技术。 ### Docker Do…

2W 3KVDC 隔离单、双输出 DC/DC 电源模块——TPH 系列

TPH系列是一款2W&#xff0c;单、双输出隔离电源模块&#xff0c;特别适合板上只有一种电压而要求有正负电源的场合&#xff0c;工业级温度范围–40℃到105℃&#xff0c;在此温度范围内都可以稳定输出2W&#xff0c;并且效率非常高&#xff0c;高达86%&#xff0c;温升非常低&…