JavaSE-数组的复制方法
arraycopy方法(将元素复制)
这句代码使用了 System.arraycopy 方法,用于将一个数组中的元素复制到另一个数组中。具体来说,这句代码的作用是从原数组 arr 中删除第一个元素和最后一个元素,并将剩下的元素复制到新数组 newArr 中。
以下是对这句代码的详细解释:
System.arraycopy(arr, 1, newArr, 0, arr.length - 2);
CopyInsert
arr:源数组,即要从中复制元素的数组。1:源数组的起始位置。这里从索引1开始复制,表示跳过第一个元素。newArr:目标数组,即要将元素复制到的数组。0:目标数组的起始位置。这里从索引0开始复制,表示新数组的起始位置。arr.length - 2:要复制的元素数量。这里arr.length - 2表示从源数组中复制除第一个和最后一个元素之外的所有元素。
综合起来,这句代码的作用是:
- 从
arr数组的索引1开始,复制arr.length - 2个元素。 - 将这些元素复制到
newArr数组中,从索引0开始。
这样就实现了删除 arr 数组中的第一个和最后一个元素,并将剩下的元素存储到 newArr 数组中。
完整代码示例:
public class Eg1_Singer {
// 编写排序方法;
public static void Bsort(int[] arr) {
// 使用冒泡排序算法对数组进行排序
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
public static void main(String[] args) {
int[] arr = {90, 78, 90, 96, 67, 86, 78, 92, 79, 85};
Bsort(arr);
System.out.println("排序后的数组为:" + Arrays.toString(arr));
// 删除最大元素和最小元素
int[] newArr = new int[arr.length - 2];
System.arraycopy(arr, 1, newArr, 0, arr.length - 2);
// 计算剩下的元素的平均值
double sum = 0;
for (int index = 0; index < newArr.length; index++) {
sum += newArr[index];
}
double average = sum / newArr.length;
System.out.println("删除最大和最小元素后的平均值是:" + average);
}
}
在这个示例中,System.arraycopy 方法用于删除排序后的数组中的最大值和最小值,并计算剩下元素的平均值。
JavaSE-数组的复制方法的更多相关文章
- JavaSE| 数组
1.数组(array) 数组就是多个相同类型数据的组合,实现对这些数据的统一管理. 数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型.数组属引用类型,数组型数据是对象(object),每 ...
- [javaSE] 数组(查找-二分查找)
前提数组必须是有序的 定义最小,最大,中间的角标索引 int min,max,mid; min=0; max=arr.length-1; mid=(min+max)/2; 上面的索引需要变化,使用循环 ...
- [javaSE] 数组(获取最值)
数组的常见操作(获取最值) 1.获取最值需要进行比较,每一次比较都会有一个较大的值,因为该值不确定,通过一个变量进行存储 2.让数组中的每一个元素都和这个变量中的值进行比较,如果大于了变量中的值,就用 ...
- 学习JavaSE 数组
一维数组 基本概念 1.数组中只允许放同一种类型(可以是父子关系). 2.数组即对象. 例: int[ ] arrs={0,1,2};//arrs即一个对象. 3.数组是定长的,不可以增加或者减少. ...
- [javaSE] 数组(排序-冒泡排序)
两层嵌套循环,外层控制循环次数,内层循环进行比较 for(int x=0;x<arr.length-1;x++){ for(int y=0;y<arr.length;y++){ if(ar ...
- [javaSE] 数组(排序-选择排序)
两层嵌套循环,外层循环控制次数,内层循环进行比较 for(int x=0;x<arr.length;x++){ for(int y=0;y<arr.length;y++){ if(arr[ ...
- Java对数组的复制[转]
原文地址http://x10232.iteye.com/blog/2230762 定义一个数组 int[] a={3,1,4,2,5}: int[] b=a: int[] a={3,1,4,2,5}: ...
- 【Java】学习笔记(1)
Java数据类型: 基本数据类型:(变量在栈中)数值型:byte(1个字节) short(2个字节) int(四个字节) long(8个字节) ,float(4字节) double(8字节) 字符型: ...
- Java7编程高级进阶学习笔记
本书PDF 下载地址: http://pan.baidu.com/s/1c141KGS 密码:v6i1 注:本文有空会跟新: 讲述的是jdk7的内容: 注关于java 更详细的内容请进入:<Ja ...
- 20155302 2016-2017-2 《Java程序设计》第3周学习总结
20155302 2016-2017-2 <Java程序设计>第3周学习总结 教材学习内容总结 两个基本的标准类:java.util.Scanner与java.math.BigDecima ...
随机推荐
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Account Kit(4)
1.问题描述: LoginWithHuaweiIDButton不支持深色模式下定制文字和loading样式? 解决方案: LoginWithHuaweiIDButtonParams 中的有个suppo ...
- odoo15接口调用qweb打印,将pdf旋转并下载到本地
一.将pdf旋转的通用方法 def rotate_pdf(self, pdf, angle): """ rotateClockwise(90) 这里的pdf传:bytes ...
- odoo前端的Patch用法
一.Patching code:根据官方功能解释 我们需要自定义 UI 的工作方式.一些受支持的 API 涵盖了许多常见需求. 例如,所有注册表都是很好的扩展点: 字段注册表允许添加/删除专门的字段组 ...
- 图解JavaScript原型:原型链及其分析 | JavaScript图解
忽略该图的细节(如内存地址值没有用二进制) 以下是对该图进一步的理解和总结 1. JS对象概念的辨析 对象是什么:保存在堆中一块区域,同时在栈中有一块区域保存其在堆中的地址(也就是我们通常说的该变量指 ...
- python学习课后练习
此次爬虫学习的资源是B站所找,具体如下:Python课程天花板,Python入门+Python爬虫+Python数据分析5天项目实操/Python基础,该课程留了课后练习,我把自己的代码和想法单独整成 ...
- 鸿蒙运动项目开发:封装超级好用的 RCP 网络库(下)—— 实战应用
鸿蒙核心技术##运动开发## Remote Communication Kit(远场通信服务) 在之前的文章中,我们详细介绍了如何封装一个功能完备的 RCP 网络库,并探讨了其核心功能和高级特性.在本 ...
- HarmonyOS 应用开发实战指南
HarmonyOS 应用开发实战指南 1. 开篇:为什么选择 HarmonyOS? 最近在开发鸿蒙应用时,发现很多开发者都在问:为什么要选择 HarmonyOS?这里分享一下我的看法: 生态优势 华为 ...
- HyperMesh视觉控制
在HyperMesh中,模型视角控制可通过标准视图(Standard Views)工具栏.三维视图控制(3D View Controls)工具栏以及鼠标实现. (1) 标准视图工具栏图标. (2) ...
- Centos7在原有磁盘上磁盘扩容
如下示例使用VMWare虚拟化软件给虚拟centos7系统进行相关磁盘扩容 1.查看目前磁盘容量 2.VMWare给虚拟系统扩展空间 注意在虚拟系统关机情况下进行 3.查看扩容后磁盘情况 4.创建磁盘 ...
- XXL-JOB分布式任务调度平台
简介 概述 XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速.学习简单.轻量级.易扩展.现已开放源代码并接入多家公司线上产品线,开箱即用. 特性 1.简单:支持通过Web页面对任务进行 ...