Java面试常用函数

1. charAt() 方法用于返回字符串指定索引处的字符。索引范围为从 0 到 length() - 1。

map.getOrDefault(num, 0) :如果map存在num这个key,则返回num对应的value,否则返回0.

 Arrays.sort(nums); 数组排序

Arrays.asList("a","b","c");;该方法是将数组转化成List集合的方法。

s.toCharArray();将字符串中的字符转换为字符数组. 

new String(ch)  将数组转化为字符串。

str.trim().split(" ");//将字符串先去掉头尾的空格,再按照“ ”分割。

Arrays.toString(strIn) 数组转字符串

2. 求字符串长度   s.length();

求数组长度:s.length;

集合长度:size()

3.集合

1.总体结构:

接口:Collection/List/Set/Map

实现类:Arraylist/LinkedList/HashSet/TreeSet/HashMap/TreeMap

2.Collection 集合

3.List集合

  • List集合的概述

    • 有序集合,这里的有序指的是存取顺序

    • 用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素

    • 与Set集合不同,列表通常允许重复的元素

  • List集合的特点

    • 存取有序

    • 可以重复

    • 有索引

List集合的实现类

  • ArrayList集合

    底层是数组结构实现,查询快、增删慢

  • LinkedList集合

    底层是链表结构实现,查询慢、增删快

  • LinkedList集合的特有功能

3.创建hashset(集合):

Set<Integer> set1 = new HashSet<>()
set1.add(i)//添加元素
if (set1.contains(i)) //判断是否包含i
set.size() #hashset的大小

4.创建比较

//List
List<String> list = new ArrayList<>();
//二维数组
List<List<Integer>> result = new ArrayList<>();//二维数组添加元素
result.add(Arrays.asList(nums[i], nums[left], nums[right]))//LinkedList
LinkedList<String> list = new LinkedList<>();//Set
Set<String> set = new TreeSet<>();
//TreeSet
TreeSet<Integer> ts = new TreeSet<Integer>();
//HashSet
HashSet<String> set = new HashSet<String>();//Map
Map<String,String> map = new HashMap<String,String>();
//HashMap
HashMap<Student, String> hm = new HashMap<Student, String>()
//TreeMap
TreeMap<Student,String> tm = new TreeMap<>();

5.遍历比较

List
普通for循环
//size方法跟get方法还有循环结合的方式,利用索引获取到集合中的每一个元素
for (int i = 0; i < list.size(); i++) { String s = list.get(i);System.out.println(s);}Set
//Set集合是没有索引的,所以不能使用通过索引获取元素的方法
不能用for (int i = 0; i < set.size(); i++) {
//            
//        }for (String s : set) {System.out.println(s);}TreeSetfor(Integer i : ts) {System.out.println(i);}HashSetfor(String s : set) {System.out.println(s);}Map
方法一://获取所有键的集合。用keySet()方法实现Set<String> keySet = map.keySet();//遍历键的集合,获取到每一个键。用增强for实现for (String key : keySet) {//根据键去找值。用get(Object key)方法实现String value = map.get(key);System.out.println(key + "," + value);}方法二://获取所有键值对对象的集合Set<Map.Entry<String, String>> entrySet = map.entrySet();//遍历键值对对象的集合,得到每一个键值对对象for (Map.Entry<String, String> me : entrySet) {//根据键值对对象获取键和值String key = me.getKey();String value = me.getValue();System.out.println(key + "," + value);}HashMap//遍历集合Set<Student> keySet = hm.keySet();for (Student key : keySet) {String value = hm.get(key);System.out.println(key.getName() + "," + key.getAge() + "," + value);}

6.字符串操作

  • s.erase(pos,n);
    删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符

  • 字符串长度   s.length();

  • 1char charAt(int index)
    返回指定索引处的 char 值。
    2int compareTo(Object o)
    把这个字符串和另一个对象比较。
    3int compareTo(String anotherString)
    按字典顺序比较两个字符串。
    4int compareToIgnoreCase(String str)
    按字典顺序比较两个字符串,不考虑大小写。
    5String concat(String str)
    将指定字符串连接到此字符串的结尾。
    6boolean contentEquals(StringBuffer sb)
    当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。
    7static String copyValueOf(char[] data)
    返回指定数组中表示该字符序列的 String。
    8static String copyValueOf(char[] data, int offset, int count)
    返回指定数组中表示该字符序列的 String。
    9boolean endsWith(String suffix)
    测试此字符串是否以指定的后缀结束。
    10boolean equals(Object anObject)
    将此字符串与指定的对象比较。
    11boolean equalsIgnoreCase(String anotherString)
    将此 String 与另一个 String 比较,不考虑大小写。
    12byte[] getBytes()
     使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
    13byte[] getBytes(String charsetName)
    使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。
    14void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
    将字符从此字符串复制到目标字符数组。
    15int hashCode()
    返回此字符串的哈希码。
    16int indexOf(int ch)
    返回指定字符在此字符串中第一次出现处的索引。
    17int indexOf(int ch, int fromIndex)
    返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。
    18int indexOf(String str)
     返回指定子字符串在此字符串中第一次出现处的索引。
    19int indexOf(String str, int fromIndex)
    返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
    20String intern()
     返回字符串对象的规范化表示形式。
    21int lastIndexOf(int ch)
     返回指定字符在此字符串中最后一次出现处的索引。
    22int lastIndexOf(int ch, int fromIndex)
    返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。
    23int lastIndexOf(String str)
    返回指定子字符串在此字符串中最右边出现处的索引。
    24int lastIndexOf(String str, int fromIndex)
     返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。
    25int length()
    返回此字符串的长度。
    26boolean matches(String regex)
    告知此字符串是否匹配给定的正则表达式。
    27boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)
    测试两个字符串区域是否相等。
    28boolean regionMatches(int toffset, String other, int ooffset, int len)
    测试两个字符串区域是否相等。
    29String replace(char oldChar, char newChar)
    返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
    30String replaceAll(String regex, String replacement)
    使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
    31String replaceFirst(String regex, String replacement)
     使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
    32String[] split(String regex)
    根据给定正则表达式的匹配拆分此字符串。
    33String[] split(String regex, int limit)
    根据匹配给定的正则表达式来拆分此字符串。
    34boolean startsWith(String prefix)
    测试此字符串是否以指定的前缀开始。
    35boolean startsWith(String prefix, int toffset)
    测试此字符串从指定索引开始的子字符串是否以指定前缀开始。
    36CharSequence subSequence(int beginIndex, int endIndex)
     返回一个新的字符序列,它是此序列的一个子序列。
    37String substring(int beginIndex)
    返回一个新的字符串,它是此字符串的一个子字符串。
    38String substring(int beginIndex, int endIndex)
    返回一个新字符串,它是此字符串的一个子字符串。
    39char[] toCharArray()
    将此字符串转换为一个新的字符数组。
    40String toLowerCase()
    使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
    41String toLowerCase(Locale locale)
     使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。
    42String toString()
     返回此对象本身(它已经是一个字符串!)。
    43String toUpperCase()
    使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
    44String toUpperCase(Locale locale)
    使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。
    45String trim()
    返回字符串的副本,忽略前导空白和尾部空白。
    46static String valueOf(primitive data type x)
    返回给定data type类型x参数的字符串表示形式。
    47contains(CharSequence chars)
    判断是否包含指定的字符系列。
    48isEmpty()
    判断字符串是否为空。

6.类型转换

万能法则

import java.util.Scanner;public class myScanner {Scanner sc = new Scanner(System.in);public static void main(String[] args) {int a=1;String b;char c;b=String.valueOf(a);//int转字符串a=Integer.valueOf(b);//字符串转intc=b.charAt(0);//字符串转字符b=String.valueOf(c);//字符转字符串//字符和int的转换 只需要用过字符串即可。}
}

6.1数字、字符串相互转换

// 数字转字符串 method1int number = 5;String str = String.valueOf(number);System.out.println(str);// 数字转字符串 method2int number = 5;Integer itr = number;  //int装箱为对象,再调用对象的toString方法String str = itr.toString(); //或者直接 String str = Integer.toString(number);System.out.println(str);// 数字转字符串 method3int number = 5;String str = number + "";System.out.println(str);
// 字符串转数字String str = "123";int number = Integer.parseInt(str);		System.out.println(number);

6.2 字符、字符串相互转换

//字符转字符串 method 1char ch = '5';String str = String.valueOf(ch);System.out.println(str);//字符转字符串 method 2char ch = '5';String str = ch + "";System.out.println(str);	
// 字符串转字符// 其实这里也算不上转换了,只是获取对应位置上字符String str = "123";char ch = str.charAt(0); //这里获取到的字符为1System.out.println(ch);

6.3 数字、字符相互转换

// 数字转字符// 不能直接转换,如下图。因此需借助数字转字符串。// 首先将数字转为字符串,再获取字符int number = 5; //注意这里数字只能是个位数并且不能为负String temp = Integer.toString(number);char ch = temp.charAt(0);System.out.println("数字转字符:"+ch);
// 字符转数字// 先把字符转为字符串,再转换为数字char ch = '5';String temp = String.valueOf(ch);int a = Integer.parseInt(temp);System.out.println(a);//或者int a = ch - '0';


6.4 字符数组转字符串

String newStr = new String(charArray, 0, charArray.length);

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

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

相关文章

详细解释HiveSQL执行计划

一、前言 Hive SQL的执行计划描述SQL实际执行的整体轮廓&#xff0c;通过执行计划能了解SQL程序在转换成相应计算引擎的执行逻辑&#xff0c;掌握了执行逻辑也就能更好地把握程序出现的瓶颈点&#xff0c;从而能够实现更有针对性的优化。此外还能帮助开发者识别看似等价的SQL其…

java 封装一个将String类型转Long类型的函数

Long是一种超大类型的数字变量类型 但java无法直接生成这种数据 但我们可以封装一个函数 public Long getuniid(String number) {Long longNumber Long.parseLong(number);return longNumber; }这样 我们就可以传入一个字符串 然后将其转换为 long 然后我们调用这个函数 Sys…

向日葵无法连接服务器(无法登录)

最近在使用向日葵过程中&#xff0c;突然就不能登录向日葵了&#xff0c;网上查了各种解决方案&#xff0c;比如说防火墙是不是把向日葵给拦截了&#xff1f;更换不同的版本等等&#xff0c;都无法解决&#xff0c;最后突然想到是不是电脑对向日葵原安装目录限制了&#xff1f;…

虚拟化技术:深入浅出

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

PY32F003F18之输入捕获

输入捕获是定时器的功能之一&#xff0c;配合外部引脚&#xff0c;捕获脉宽时间或采集周期。 CPU中的定时器最基本的功能就是计数功能&#xff0c;其次是输入捕获(IC)&#xff0c;再次就是比较输出(OC)&#xff0c;还有就是使用引脚对外部时钟进行计数&#xff0c;触发信号捕捉…

关于阿里云服务器Ubuntu编译jdk8中遇到的坑及解决方案

关于阿里云服务器Ubuntu系统安装jdk8中遇到的坑及解决方案 记录一下困扰了很多天、到处查资料最后终于成功安装的过程 关于阿里云服务器无法登录的问题 基本反馈是这样的&#xff1a; 如果你添加了ip之后仍然登不进去&#xff0c;有一种方法是直接从第三个选项进去登录之后修…

JWT安全

文章目录 JWT是什么&#xff1f;为什么要使用JWT&#xff1f;JWT的数据结构JWT的工作过程 JWT是什么&#xff1f; JSON Web Token (JWT)是一个开放标准(RFC 7519)&#xff0c;它定义了一种紧凑的、自包含的方式&#xff0c;用于作为JSON对象在各方之间安全地传输信息。 JWT全称…

《Python趣味工具》——自制emoji2(2)

今天&#xff0c;我们将会完成以下2个内容&#xff1a; 绘制静态emoji总结turtle中常用的绘图函数 文章目录 一、绘制静态emoji&#xff1a;:sparkles: 画脸&#xff1a;:sparkles:绘制嘴巴&#xff1a;:sparkles:绘制眼白&#xff1a;绘制眼白-Part1&#xff1a;绘制眼白—pa…

积木报表 JimuReport v1.6.2-GA5版本发布—高危SQL漏洞安全加固版本

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

Apache Spark 在爱奇艺的应用实践

01 Apache Spark 在爱奇艺的现状 Apache Spark 是爱奇艺大数据平台主要使用的离线计算框架&#xff0c;并支持部分流计算任务&#xff0c;用于数据处理、数据同步、数据查询分析等场景&#xff1a; 数据处理&#xff1a;在数据开发平台中支持开发者提交 Spark Jar 包任务或Spar…

构建无限画布,协作数字绘图 | 开源日报 0915

tldraw/tldraw Stars: 16.4k License: Apache-2.0 tldraw 是一个协作数字白板项目&#xff0c;可在 tldraw.com 上使用。它的编辑器、用户界面和其他底层库都是开源的&#xff0c;并且可以通过 npm 进行分发。您可以使用 tldraw 为产品创建一个即插即用的白板&#xff0c;或者…

Python Opencv实践 - 视频文件写入(格式和分辨率修改)

参考资料&#xff1a; python opencv写视频——cv2.VideoWriter()_cv2.cv.videowriter(_翟羽嚄的博客-CSDN博客 import cv2 as cv import numpy as np#1. 打开原始视频 video_in cv.VideoCapture("../SampleVideos/Unity2D.mp4") video_width int(video_in.get(c…

道路空间功率谱密度与时间功率谱密度(笔记)

1.先上代码其中之一 clc clear close all %% SimTime200; dt0.01;%仿真步长 time0:dt:SimTime; sim_step length(time); Ntlength(time); % 采样点&#xff08;可能要修改&#xff09; u10; % m/s df1/(Nt*dt); % 采样频率间隔 f0:df:1/(2*dt); % 采用频率一…

网络安全深入学习第四课——热门框架漏洞(RCE— Log4j2远程代码执行)

文章目录 一、log4j2二、背景三、影响版本四、漏洞原理五、LDAP和JNDI是什么六、漏洞手工复现1、利用DNSlog来测试漏洞是否存在2、加载恶意文件Exploit.java&#xff0c;将其编译成class文件3、开启web服务4、在恶意文件Exploit.class所在的目录开启LDAP服务5、监听反弹shell的…

浅谈C++|文件篇

引子&#xff1a; 程序运行时产生的数据都属于临时数据&#xff0c;程序一旦运行结束都会被释放通过文件可以将数据持久化。C中对文件操作需要包含头文件< fstream > 。 C提供了丰富的文件操作功能&#xff0c;你可以使用标准库中的fstream库来进行文件的读取、写入和定位…

什么是16S rRNA,rDNA, 菌群研究为什么用16S测序,细菌如何命名分类?

谷禾健康 当谈到肠道菌群研究时&#xff0c;16S测序是一种常用的方法&#xff0c;它在了解微生物组成和多样性方面非常重要且实用。 16S rRNA是细菌和古细菌中的一个高度保守的基因片段&#xff0c;同时具有一定的变异性。通过对16S rRNA基因进行测序&#xff0c;可以确定微生物…

优质医疗机构网站模板源码(含手机端)基于pbootcms开源项目

模板名称&#xff1a; 基于pbootcms的医疗机构网站模板&#xff08;手机端优化&#xff09; 模板介绍&#xff1a; 这是一个使用PbootCMS内核开发的医疗机构网站模板&#xff0c;专为医疗机构和医疗保健类企业设计。该模板具有简洁、简单和易于管理的页面风格&#xff0c;并附…

python 爬虫的开发环境配置

1、新建一个python项目 2、在控制台中分别安装下面三个包 pip install requests pip install beautifulsoup4 pip install selenium/ 如果安装时报以下错误&#xff1a; raise ReadTimeoutError(self._pool, None, "Read timed out.") pip._vendor.urllib3.exceptio…

计算机竞赛 机器视觉人体跌倒检测系统 - opencv python

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 机器视觉人体跌倒检测系统 该项目较为新颖&#xff0c;适合作为竞赛课题方向&#xff0c;学长非常推荐&#xff01; &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&…

Prometheus+Grafana可视化监控【ElasticSearch状态】

文章目录 一、安装Docker二、安装ElasticSearch(Docker容器方式)三、安装Prometheus四、安装Grafana五、Pronetheus和Grafana相关联六、安装elasticsearch_exporter七、Grafana添加ElasticSearch监控模板 一、安装Docker 注意&#xff1a;我这里使用之前写好脚本进行安装Docke…