高级架构师带你学费它!Java中Arrays Api的使用!

面试java开发被问最多的“cookie、session、token”问题,安排! 面试java开发被问最多的“cookie、session、token”问题,安排!前言发展历程Cookie1.什么是Cookie2.Cookie的机制3.Cookie的属性Expires修改或者删除CookieCookie的域名Cookie的路径4.应用Session1.什么是Session2.Session实现原理3.session创建和销毁Token1.什么是Token2.Token的原理3.Token的使用项目依赖 pom.xml自定义注解用户实体类、及查询serviceToken生成拦截器拦截to. 阅读详情

在这里插入图片描述

在日常使用Java数组的过程中,会经常使用到一些扩容、排序、搜索等操作。

Arrays APi

准备

创建一个整数数组:
int[] ints = new int[]{3,4,2,3,5,6,1,5};

排序
Arrays.sort(ints);  // 内部排序
System.out.println(Arrays.toString(ints));  //[1, 2, 3, 3, 4, 5, 5, 6]

复制
ints = Arrays.copyOf(ints, ints.length + 1);  // 扩容
ints[ints.length - 1] = 7;
System.out.println("Arrays.toString(ints) = " + Arrays.toString(ints)); // [1, 2, 3, 3, 4, 5, 5, 6, 7],增加了容量

二分搜索

存在则返回随机一个索引,不存在则返回搜索结果的low指针对应的下标 + 1后的负值。源码如下:

private static int binarySearch0(int[] a, int fromIndex, int toIndex,
                                     int key) {
        int low = fromIndex;
        int high = toIndex - 1;  // toIndex不包含在搜索内容中

        while (low <= high) {
            int mid = (low + high) >>> 1;
            int midVal = a[mid];

            if (midVal < key)
                low = mid + 1;
            else if (midVal > key)
                high = mid - 1;
            else
                return mid; // key found
        }
        return -(low + 1);  // key not found.
    }

使用代码:

System.out.println("Arrays.binarySearch(ints, 2) = " + Arrays.binarySearch(ints, 2)); // Arrays.binarySearch(ints, 2) = 1
int i = Arrays.binarySearch(ints, 8); // 没找到 -(low + 1);
System.out.println(i); // 返回 -(9 + 1)= -10;

填充默认值

在某些场景下,我们希望数组的初始值可以自定义,所以可以使用 fill 函数去实现,注意,只能对一维数组进行操作,如果是二维数组,那么把它当作数组的元素是数组,使用一层循环,然后对每个数组进行填充自定义的值。

Arrays.fill(ints2, 2); // 填充默认值
System.out.println("Arrays.toString(ints2) = " + Arrays.toString(ints2));

比较两个数组是否相等

不能直接用等于,也可以使用数组自带的equals方法,但推荐使用 Arrays.equals()方法可以自行比较。

int[] ints2 = new int[]{1,2,3};
        System.out.println("Arrays.equals(ints, ints2) = " + Arrays.equals(ints, ints2));  // false, 判断两个数组是否相等。

将数组转换为List

第一种方式:
List<Integer> integers = Arrays.asList(1, 2, 3, 4);

这种方式虽然可以使用,但是生成的List为内部类,而不是java.utils下的ArrayList,不能对该list进行添加,删除等操作。

第二种方式
List<Integer> collect = Arrays.stream(ints).boxed().collect(Collectors.toList());

这种方式生成的就是正常的List,还可以在生成流之后对该流进行一系列的操作,强烈推荐这种方式

分类: [Java]

在这里插入图片描述

关于Springboot集成Swagger到底是什么?请看这篇分说! 关于Springboot集成Swagger到底是什么?请看这篇分说!集成SwaggerSwagger简介springboot集成Swagger1、新建一个springboot项目,添加web框架2、添加相关依赖3、编写controller层编写Swagger的配置类4、编写Swagger的配置类配置Swagger信息1、编写Swagger配置类配置Swagger扫描接口1、配置扫描的接口2、配置是否启动SwaggerSwagger配置多环境1、新建application-dev.properties新建a. 阅读详情

相关推荐

无聊的时候怎么办?教你用java写一个简单挂机打金币小游戏吧!

无聊的时候怎么办?教你用java写一个超简单挂机打金币小游戏吧!Java写一个挂机打金币程序1.Java的面向对象2.基础打金的分析3. Robot介绍以及Demo演示4.挂机打金程序如何去实现 Java写一个挂机打金币程序 [图片上传失败…(image-529a95-1627970545922)] 1.Java的面向对象 就是万事万物皆对象; 2.基础打金的分析 初级: 我们去模拟人类的按键和鼠标点击 ; 完成刷金币的一个行为; 按键精灵 3. Robot介绍以及Demo演示 4.挂机打金程序如.

Delilah_java的博客 800

一篇JVM详细图解,坚持看完!带你真正搞懂Java虚拟机!

一篇JVM详细图解,坚持看完!带你真正搞懂Java虚拟机!Java虚拟机1、JVM简介2、JVM内存区域2.1、程序计数器(线程私有)2.2、虚拟机栈(线程私有)2.3、本地方法区(线程私有)2.4、堆(Heap-线程共享)2.5、方法区/永久代(线程共享)3、JVM类加载器4、双亲委派机制5、沙箱安全机制6、GC垃圾回收算法6.1、如何确定垃圾6.2、标记清除算法(Mark-Sweep)6.3、复制算法(copying)6.4、标记整理算法(Mark-Compact)6.5、分代收集算法 Java虚拟机.

Delilah_java的博客 1万+

从零到一:用CubeMX和485模块快速上手多摩川绝对式编码器(附清零操作详解)

本文详细介绍了如何使用STM32CubeMX和485模块快速上手多摩川绝对式编码器,包括硬件连接、STM32配置、协议解析及清零操作。通过具体的代码示例和调试技巧,帮助开发者高效实现编码器数据读取和清零功能,特别适合STM32单片机开发者参考。

weixin_30599769的博客 193

什么?学java这么久了,你对“SpringMVC-JSON“真的了解吗?

什么?学java这么久了,你对"SpringMVC-JSON"真的了解吗?SpringMVC--JSON1、JSON简介2、JavaScript中使用JSON3、Jackson4、Jackson日期工具类5、FastJson SpringMVC–JSON 1、JSON简介 什么是 JSON JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式,目前使用特别广泛。 采用完全独立于编程语言的文本格式来存储和表示数据。 简洁和清晰的层次结构使得 JSO.

Delilah_java的博客 2202

【AMD显卡在WIndow10/11部署带GPU支持的深度学习环境(Pytorch-DirectML篇)】

这篇是之前Tensorflow-DirectML的姊妹篇,如果对TF感兴趣的可以搜索我的博文。 首先我们丢一个官网地址,但是官网那个会误导新人如果你按那个操作的话。 https://docs.microsoft.com/en-us/windows/ai/directml/gpu-pytorch-windows 这里用我的方法操作: 首先声明一下,因为我的显卡是AMD RX6600,不带XT(性能和RTX3060 12G版本半斤八两),所以目前没有最新的WSL2驱动,如果有了的话欢迎告知我,所以我这里就.

weixin_44029053的博客 2万+

告别黑盒调试:用MMSegmentation可视化工具链,从训练到评估一目了然

本文介绍了如何利用MMSegmentation的可视化工具链,从训练到评估实现语义分割模型的透明化调试。通过整合日志分析、混淆矩阵、PR曲线等工具,开发者可以快速定位模型问题,优化性能。文章详细展示了训练曲线分析、性能剖析、混淆矩阵解读和PR曲线应用等关键步骤,帮助用户告别黑盒调试,提升模型开发效率。

weixin_29100927的博客 105

字节架构师:来说说Java异步调用的几种方式你都搞懂了吗?

字节架构师:来说说Java异步调用的几种方式你都搞懂了吗?一、通过创建新线程二、通过线程池三、通过@Async注解四、通过CompletableFuture 日常开发中,会经常遇到说,前台调服务,然后触发一个比较耗时的异步服务,且不用等异步任务的处理结果就对原服务进行返回。这里就涉及的Java异步调用的一个知识。下面本文尝试将Java异步调用的多种方式进行归纳。 一、通过创建新线程 首先的我们得认识到,**异步调用的本质,其实是通过开启一个新的线程来执行。**如以下例子: public static.

Delilah_java的博客 2082

Qt5+OSG实战:如何用osgQOpenGLWidget在窗口中加载3D模型(附完整代码)

本文详细解析了如何在Qt5中使用osgQOpenGLWidget加载和渲染3D模型,涵盖环境配置、核心架构、性能优化及高级技巧。通过实战案例和完整代码,帮助开发者实现工业级3D模型渲染,提升Qt与OSG的整合效率。

weixin_42741930的博客 264

零基础学java,其实没有那么难!先从java基础之Object类开始吧!

零基础学java,其实没有那么难!先从java基础之Object类开始吧!java基础之Object类2、代码演示2.1、Demo12.2、Demo23、克隆方法 java基础之Object类 Object类是是所有类的父类,对于java中的任意一个类来说,都是Object类的子类。 Object类中的源码: public class Object { // 本地注册一些必要信息 private static native void registerNatives(); st.

Delilah_java的博客 1593

手把手教你用芯驰X9HP驱动MAX96755/MAX96752点亮智能座舱仪表屏(附完整寄存器配置表)

本文详细介绍了如何使用芯驰X9HP驱动MAX96755/MAX96752实现智能座舱仪表屏的完整开发流程,包括硬件架构解析、关键寄存器配置、Linux BSP集成及调试技巧。通过实战指南和完整寄存器配置表,帮助开发者快速掌握驱动开发核心技术,提升智能座舱系统的显示性能与稳定性。

weixin_30879169的博客 526

win2012 r2 + IIS8.5 伪静态设置脚本映射

win2012 r2 + IIS8.5 伪静态设置脚本映射,网站用的.net fromwork 2.0 ,应用程序池设置了32位支持

xueking87的专栏 3241

关于什么是Maven“依赖传递”、“依赖冲突”,Java程序员有话说!

关于什么是Maven“依赖传递”、“依赖冲突”,Java程序员有话说!什么是依赖传递?什么是依赖冲突?如何解决依赖冲突1. 使用maven提供的依赖调解原则2.排除依赖3.锁定版本 什么是依赖传递? 在maven中,依赖是可以传递的,假设存在三个项目,分别是项目A,项目B以及项目C,假设C依赖B,B依赖A,那么我们可以根据maven项目依赖的特征不难推出项目C也依赖A。 什么是依赖冲突? 大家都要用到一个工具包,由于依赖传递大家都会导入,发现大家导入的工具包版本不统一,就产生了冲突 eg: spring.

Delilah_java的博客 1401

Windows原生与WSL2环境下OpenClaw性能与兼容性的对比分析研究

本文对比分析了Windows原生环境与WSL2环境下运行OpenClaw的性能与兼容性。Windows原生环境提供深度系统集成、图形界面支持和硬件加速优势,适合需要Windows生态集成的用户;WSL2则提供接近原生Linux的性能体验,兼容Linux工具链,适合开发者和跨平台需求。文章详细介绍了两种环境下的推荐硬件配置、系统版本选择及必备工具,并提供了具体的部署步骤指南。研究表明,两种环境各有适用场景,用户可根据需求选择最适合的部署方式。

一键难忘的博客 1218

为什么越来越多程序员使用Netty编程框架,这些原因你都知道吗?

为什么越来越多程序员使用Netty框架,这些原因你都知道吗?一、传统的BIO编程二、伪异步的I/O编程三、NIO编程四、AIO编程五、I/O模型对比六、主流NIO框架七、为什么学习Netty7.1 不选择Java原生NIO的原因7.2 选择Netty的理由八、Netty开发环境搭建8.1 Netty 的官网8.2 Maven仓库地址8.3 Maven依赖8.4 Gradle依赖 一、传统的BIO编程 ​ 网络编程的基本模型是Client/Server 模型,也就是两个进程之间进行相互通信,其中服务端提供位.

Delilah_java的博客 1345

【WorkBuddy专栏09】WorkBuddy多模态能力深度揭秘

【WorkBuddy专栏09】AI不止会聊天——WorkBuddy多模态能力深度揭秘

AI人人懂 2124

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

面试被问到如何用Springboot 进行 web开发,看完这篇!怒怼面试官!

面试被问到如何用Springboot 进行 web开发,看完这篇!怒怼面试官!web开发静态资源首页一、在静态资源目录下新建index.html二、编写controller层三、运行测试 web开发 静态资源 四个目录存放的静态资源可以被我们识别,用来存放我们的html、css、js、图片等文件 "classpath:/META-INF/resources/" "classpath:/resources/" "classpath:/static/" "classpath:/public/" 他们的.

Delilah_java的博客 915

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java程序员都会碰到的Mysql索引失效问题,看完收获满满!

Java程序员都会碰到的Mysql失效问题,看完收获满满!准备Explain关键字索引普通索引唯一索引使用ALTER 命令添加和删除索引使用ALTER 命令添加和删除主键索引失效违反最左前缀法则在索引列上操作范围索引右边的列失效使用不等于like以通配符开头("%abc")字符串不加单引号使用or连接order bygroup by 准备 为了进行Mysql失效的实践,我们首先创建一个表,执行以下 sql 语句: mysql> create table staff( -> id int.

Delilah_java的博客 732

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

面试被问java线程状态,一脸茫然?莫慌!看完这篇 从容应对!

面试被问java线程状态,一脸茫然?莫慌!看完这篇 从容应对!Java的线程状态线程方法停止线程线程休眠线程礼让线程强制执行线程状态观测线程的优先级守护(deamon)线程 Java的线程状态 线程方法 方法 说明 setPriority(int newPriority) 更改线程的优先级 static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠 void join() 等待该线程终止 static void yield() 暂停当.

Delilah_java的博客 712

阿里架构师带你入门Springboot!三分钟学写“Hello,World”程序!

阿里架构师带你入门Springboot!三分钟学写“Hello,World”程序!第一个springboot程序Hello,World**一、创建Springboot项目****二、添加SpringWeb框架,再点击完成****三、可以选择删除多余文件****四、等待项目下载完成****五、springboot主启动类,springboot从这里开始跑****六、新建controller包****七、在controller包下新建HelloWorld类****八、在Springboot主启动类启动项目**.

Delilah_java的博客 605

想要入门自学Java?先从必须学习的Maven基础知识开始吧!

想要入门自学Java?先从必须学习的Maven基础知识开始吧!Maven是什么以及核心特性Maven是什么?Maven特性Maven安装配置Maven项目的标准结构利用ide创建一个maven工程maven项目目录结构maven坐标介绍Maven的依赖管理Maven仓库 Maven是什么以及核心特性 Maven是什么? Maven是项目管理工具对软件项目提供构建与依赖管理 Maven是Apache下的Java开源项目 Maven为Java项目提供了统一的管理方式,已成为业界标准 Maven特性 项目.

Delilah_java的博客 540

看完这篇!教你三分钟学会Java项目主机启停脚本运用!

在这里插入图片描述](https://img-blog.csdnimg.cn/2ed603270b314f18912764429d6861c2.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RlbGlsYWhfamF2YQ==,size_16,color_FFFFFF,t_70#pic_center) 看完这篇!教你三分钟学会Java项目主机启停脚

Delilah_java的博客 528

InnoDB 内存结构总览:Change Buffer、AHI 与 Log Buffer

本文系统梳理InnoDB内存结构中的ChangeBuffer、Adaptive Hash Index(AHI)与LogBuffer。ChangeBuffer缓存二级索引页不在内存时的变更,减少随机IO,仅在页加载时合并;聚簇索引修改立即执行,因数据本身不可延后。AHI基于高频等值查询自动构建哈希索引,加速定位,仅支持等值操作。LogBuffer为redo log内存缓冲,配合磁盘日志实现崩溃恢复。三者均服务于性能优化,其中ChangeBuffer与AHI共享BufferPool空间,而LogBuffer独立

bksczm的博客 303

第三篇 第 6 课

前置:第三篇第 1 课(stdx 引入),第二篇第 1 课(std.regex)。环境:仓颉 SDK 1.2.0。本文所有代码与输出均逐行实测。

weixin_41618057的博客 528

V8 机制、手写核心函数与 TypeScript 类型体操

或固定初始化(如数组先定长、对象先给全字段)保持类型与形状稳定;这些都比"换框架"更基础。只能处理纯数据(丢函数、Date、RegExp、循环引用报错)。生产级深拷贝要处理:原始值短路、循环引用、V8(Chrome / Node 的 JS 引擎)不是"解释一行跑一行"那么简单,它用。图:V8 执行流程——解释执行 + 热点优化,优化失败会 Deopt 回退。JS 内存自动管理,但"自动"不等于"不会漏"。是"固定间隔最多执行一次"。手写 Promise 是"懂异步"的试金石。是"停下后才执行最后一次",

qq_38468358的博客 355

信创环境下PageOffice文档控件适配与实践

信创适配做到文档控件这一层,拼的已经不是"有没有国产版本",而是同一个功能在两类终端上是否真的等价。等价的标准很具体:同一次点击能得到同样的结果,同一份公文能得到同样的版式,同一个项目不需要维护两套代码。这背后是三件并不轻松的工作:服务端用一套接口同时支撑两类终端,客户端把两种系统与四种芯片的安装包分发清楚,文档内核层由产品侧跟着 WPS 的版本走。浏览器这一层的压力,则被收进了产品自己的窗口里——升级节奏由产品掌握,不再交给运气。

zi_wu_xian的专栏 332

【从零理解 Spring AI · 12】MCP 的两种角色:做客户端还是做服务端

上一篇讲了 MCP 的概念:标准协议、三大角色、M+N 替代 M×N。

nice_lcj520的博客 564
上一篇: 华为面试官:关于Java接口类,有这些问题你必须了解!
下一篇: 成为架构师的必经之路!如何理解Java动态代理设计模式?
Danny_java
博客等级 码龄5年 9粉丝 64原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值