黑马Java零基础视频教程精华部分_18_Arrays各种方法

系列文章目录


文章目录

  • 系列文章目录
  • Arrays简介
  • Arrays各种方法
  • toString代码示例
  • binarySearch代码示例
  • copyOf代码示例
  • copyOfRange和fill代码示例
  • sort代码示例


Arrays简介

操作数组的工具类。

Arrays各种方法

在这里插入图片描述

toString代码示例

int[]arr={1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//toString:将数组变成字符出
System.out.println("-------------toString--------------------");
System.out.println(Arrays.toString(arr));

点到toString内部可以发先是我们熟悉的StringBuilder()类。

public static String toString(int[] a) {if (a == null)return "null";int iMax = a.length - 1;if (iMax == -1)return "[]";StringBuilder b = new StringBuilder();b.append('[');for (int i = 0; ; i++) {b.append(a[i]);if (i == iMax)return b.append(']').toString();b.append(", ");}}

binarySearch代码示例

//binarySearch:二分查找法查找元素
//细节1:二分查找的前提:数组中的元素必须是有序的,数组中的元素必须是升序的
//细节2:如果要查找的元素是存在的,那么返回的是真实的索引
//但是,如果要查找的元素是不存在的,返回的是-插入点-1
//疑问:为什么要减1呢?
//解释:如果此时,我现在要查找数字0,那么如果返回的值是-插入点,就会出现问题了。
//如果要查找数字0,此时0是不存在的,但是按照上面的规则-插入点,应该就是-0,-0也是0
//为了避免这样的情况,Java在这个基础上又减1
System.out.println("-----------------binarySearch----------------");
System.out.println(Arrays.binarySearch(arr,10));
System.out.println(Arrays.binarySearch(arr,2));
System.out.println(Arrays.binarySearch(arr,20));

copyOf代码示例

//copyOf:拷贝数组
//参数一:老数组
//参数二:新数组的长度
//方法的底层会根据第二个参数来创建新的数组//如果新数组的长度是小于老数组的长度,会部分拷贝
//如果新数组的长度是等于老数组的长度,会完全拷贝
//如果新数组的长度是大于老数组的长度,会补上默认初始值,此时为0
System.out.println("--------------copyOf------------------");
int[] newArr1 =Arrays.copyOf(arr, 20);
System.out.println(Arrays.toString(newArr1));//[1,2,3,4,5,6,7,8,9,10]

copyOfRange和fill代码示例

//copyOfRange:拷贝数组(指定范围)
//细节:包头不包尾,包左不包右
int[]arr={0,1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
System.out.println("-------------------copyOfRange---------------------");
int[] newArr2 =Arrays.copyOfRange(arr,0,9);
System.out.println(Arrays.toString(newArr2));//[0, 1, 2, 3, 4, 5, 6, 7, 8]
//fi11:填充数组
System.out.println("------------fill----------------------------------");
Arrays.fill(arr, 100);System.out.println(Arrays.toString(arr));//[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]

sort代码示例

//sort:排序。默认情况下,给基本数据类型进行升序排列。底层使用的是快速排序。
System.out.println("--------------------sort-----");
int[] arr2={0, 1, 2, 3, 4, 5, 9, 7, 8, 88, 10};
Arrays.sort(arr2);
System.out.println(Arrays.toString(arr2));//[0, 1, 2, 3, 4, 5, 7, 8, 9, 10, 88]

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

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

相关文章

非线性链表之树结构和堆的代码实现

目录 一.树的结构 1.1树概念及结构 1.2 树的相关概念 1.3 树的表示 二. 二叉树概念及结构 2.1概念 2.2 特殊的二叉树: 2.3 二叉树的性质 2.4 二叉树的存储结构 2.4.1. 顺序存储 ​2.4.2. 链式存储 三. 堆的概念及结构 定义 性质 堆的实现 四.堆的代…

kafka零拷贝sendfile及mmap简述

概述 通常在选型比较消息中间件时,都会在备选栏有kafka; kafka突出的特点就是高吞吐,零拷贝; 这里的零拷贝其实就是内核和用户空间之间没有copy,并不是真的0拷贝; 毕竟数据在磁盘,要读到网卡发…

k8s集群管理 Pod管理命令

k8s集群管理命令 信息查询命令 子命令说明help用于查看命令及子命令的帮助信息cluster-info显示集群的相关配置信息api-resources查看当前服务器上所有的资源对象api-versions查看当前服务器上所有资源对象的版本config管理当前节点上的认证信息 资源对象概述 Pod概述 Pod 管…

# 利刃出鞘_Tomcat 核心原理解析(三)

利刃出鞘_Tomcat 核心原理解析(三) 一、 Tomcat专题 - Tomcat架构 - 启动流程 1、Tomcat 启动流程 2、Tomcat 启动 步骤 : 1) 启动tomcat , 需要调用 bin/startup.bat (在linux 目录下 , 需要调用 bin/startup.sh) &#xff0c…

Dubbo框架实现RPC远程调用包括nacos的配置和初始化

项目背景介绍 这个技术我是直接在项目中运用并且学习的,所以我写笔记最优先的角度就是从项目背景出发 继上一次API网关完成了这个实现用户调用一次接口之后让接口次数增多的操作之后,又迎来了新的问题。 就是我们在调用接口的时候需要对用户进行校验&…

【Linux】详解IPC:共享内存

目录 IPC 共享内存 1.理解 2.运用 1. 创建 ipc - shmget 2. 创建 key - ftok ⭕shmid vs key 3. 连接 - shmat 4. 脱离 - shmdt 5. 控制/删除 - shmctl 总结 代码示例 3.实验 comm.hpp processa.cc processb.cc log.hpp makefile 测试 4.思考 IPC 进程间通…

vue3引入模块报错:无法找到模块“xxx”的声明文件

使用vue3ts导入vue文件的时候,报错:找不到模块“./XXX.vue”或其相应的类型声明 这是由于:Vue 文件并不是标准的 JavaScript 模块,因此 TypeScript 需要通过这种声明方式来理解和处理这些文件 我是使用vite创建的项目&#xff0…

【生信入门linux篇】如何安装一个linux虚拟机用于学习

一.虚拟机 虚拟机(Virtual Machine,简称VM)是一种软件实现的计算机系统,它能够在物理计算机上模拟出多个独立的计算机环境。每个虚拟机都可以运行自己的操作系统和应用程序,就像在独立的物理计算机上一样。虚拟机技术…

小试牛刀-区块链Solana多签账户

目录 1.什么是多签账户 2.多签账户的特点 2.1 多个签名者 2.2 最小签名要求 2.3 常见应用场景 3.多签账户实现 3.1 账户的创建 3.1.1 创建新账户 3.1.2 获取创建和初始账户事务 3.1.3 账户的签名 3.2 代币转移操作 Welcome to Code Blocks blog 本篇文章主要介绍了 …

LeetCode_sql_day16(601.体育馆的人流量)

描述:601. 体育馆的人流量 - 力扣(LeetCode) 编写解决方案找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。 返回按 visit_date 升序排列 的结果表。 输入Stadium表: ----------------------------- | id | visit_date | peop…

电子电气架构 --- 车辆模式管理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…

CUDA-MODE 第一课: 如何在 PyTorch 中 profile CUDA kernels

我的课程笔记,欢迎关注:https://github.com/BBuf/how-to-optim-algorithm-in-cuda/tree/master/cuda-mode 第一课: 如何在 PyTorch 中 profile CUDA kernels 这里是课程规划,有三位讲师 Andreas, Thomas, Mark,然后大概2周出一个 …

Elasticsearch:用例、架构和 6 个最佳实践

1. 什么是 Elasticsearch? Elasticsearch 是一个开源分布式搜索和分析引擎,专为处理大量数据而设计。它建立在 Apache Lucene 之上,并由Elastic 支持。Elasticsearch 用于近乎实时地存储、搜索和分析结构化和非结构化数据。 Elasticsearch 的…

4.3.2 C++ 平面拟合的实现

4.3.2 C 平面拟合的实现 参考教程: gaoxiang12/slam_in_autonomous_driving: 《自动驾驶中的SLAM技术》对应开源代码 (github.com) Eigen打印输出_打印eigen矩阵-CSDN博客 1. 编写 Plane fitting 1.1 创建文件夹 通过终端创建一个名为Plane_fitting的文件夹以保…

文件操作与IO(下)

✨个人主页: 不漫游-CSDN博客 目录 前言 流对象 InputStream OutputStream 运用 在控制台进行输入并写入文件 进行普通文件的复制 前言 之前的文章文件操作与IO(上)已经介绍了文件系统的相关操作,这次的主角是文件内容的相关…

SpringBoot 框架学习笔记(七):Thymeleaf、拦截器 和 文件上传实现(解决了文件重名 和 按日期分目录存放问题)

1 Thymeleaf 1.1 基本介绍 (1)官方文档:Tutorial: Using Thymeleaf (2)Thymeleaf 是什么 Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,可完全替代 JSPThymeleaf 是一个 java 类库&#xf…

.net core webapi 自定义异常过滤器

1.定义统一返回格式 namespace webapi;/// <summary> /// 统一数据响应格式 /// </summary> public class Results<T> {/// <summary>/// 自定义的响应码&#xff0c;可以和http响应码一致&#xff0c;也可以不一致/// </summary>public int Co…

vue 打包时候的分包

export default defineConfig({plugins: [vue()],resolve: {alias: {: fileURLToPath(new URL(./src/, import.meta.url))}},// 分包&#xff0c;node_modules中的单独打包成名字为vendor的js文件build: {rollupOptions: {manualChunks(id) {if (id.includes(node_modules)) {r…

EF8 学习过程中的问题和解决方案

一、varchar类型字段如果为null 无法使用contains来判断是否包含字符串 1. 有问题的代码&#xff1a; contractList _dbcontext.contractHeads.Where(u > u.code.Contains(queryStr) || u.name.Contains(queryStr) || u.companyName.Contains(queryStr) || u.customerNa…

uniapp开启数据压缩的坑-SpringBoot-gzip

1、服务器配置 服务端开启的数据压缩配置 server:port: ${port:8881}servlet:# 应用上下文路径context-path: /orderserverundertow:threads:io: 4worker: 500buffer-size: 2048# 开启Gzip压缩&#xff0c;compression:# 开启压缩enabled: true# 对json格式内容进行压缩mime-…