ArrayCopy方法[Java]

article/2025/8/19 6:02:34

title: JavaArrayCopy方法
date: 2020-03-23 16:43:51
biog:https://www.huqifa.com/
tags:
- Java
categories:
- Java


ArrayCopy()

作为小白一直在使用for循环对数组进行复制,添加和删除,学习过程中发现ArrayCopy()方法在对数组进行删除,添加的时候更加高效,便利。

我们先来看一下底层源码:

    public static native void arraycopy(Object src,  int  srcPos,Object dest, int destPos,int length);/*** Returns the same hash code for the given object as* would be returned by the default method hashCode(),* whether or not the given object's class overrides* hashCode().* The hash code for the null reference is zero.** @param x object for which the hashCode is to be calculated* @return  the hashCode* @since   1.1* @see Object#hashCode* @see java.util.Objects#hashCode(Object)*/

src:要复制的数组(原数组)

srcPos:复制源数组的起始位置

dest:目标数组

destPos:目标数组的下标位置

length:要复制的长度

直观的说就是:

  • Arraycopy(被复制的数组, 从第几个元素开始复制, 要复制到的数组, 从第几个元素开始粘贴, 一共需要复制的元素个数);

使用ArrayCopy()直接复制数组

public class TestArrayCopy {public static void main(String[] args) {String[] s1 = {"aa","bb","cc","dd","ee"};String[] s2 = new String[10];System.arraycopy(s1,1,s2, 1, 3);for (int i = 0; i < s2.length; i++) {System.out.println(i+"--"+s2[i]);}}
}
  • 通过Arraycopy()方法,把s1数组第一个位置复制到s2第一个位置中,复制长度3.

在这里插入图片描述

使用ArrayCopy()删除数组中的蔡徐坤

给定一个明星数组,我们的目标是删除蔡徐坤。

public class TestArrayCopy {public static void main(String[] args) {String[] s = {"胡歌","彭于晏","蔡徐坤","周润发","周星驰"};removeElement(s, 3);}public static String[] removeElement(String[] s,int index) {System.arraycopy(s,index,s,index-1,s.length-index);s[s.length-1] = null;for (int i = 0; i < s.length; i++) {System.out.println(i+"--"+s[i]);}return s;}}

在这里插入图片描述

通过对数组进行自身的复制,我们成功的把蔡徐坤删除。


http://chatgpt.dhexx.cn/article/DcRU7CRF.shtml

相关文章

数组—arraycopy()的用法

格式&#xff1a; arraycopy(要复制的数组,复制数组的起始位置,目标数组,复制的元素个数); 例子&#xff1a; int[] a {1,2,3,4,5,6};int[] b new int[4];//将数组a从第2个索引位置开始&#xff0c;截取4个元素到数组b从索引为0开始的位置添加。System.arraycopy(a, 2, b, …

System.arraycopy()方法详解

一、深度复制和浅度复制的区别 Java数组的复制操作可以分为深度复制和浅度复制&#xff0c;简单来说深度复制&#xff0c;可以将对象的值和对象的内容复制;浅复制是指对对象引用的复制。 二、System.arraycopy()方法实现复制 1、System中提供了一个native静态方法arraycopy(),…

Arraycopy方法

Arraycopy方法开发工具与关键技术&#xff1a;java 作者&#xff1a;彭浩达 撰写时间&#xff1a;2019年 5月 2日Arraycopy(Object src,int srcPos,Object dest,int destPos,int length) 描述&#xff1a;从指定源数组中复制一个数组&#xff0c;复制从指定的位置开始&#xff…

arraycopy方法简析

arraycopy&#xff08;System类的静态方法&#xff09; public static void arraycopy( Object src, int srcPos, Object dest, int destPos, int length) 简述 从指定源数组中复制一个数组&#xff0c;复制从指定的位置开始&#xff0c;到目标数组的指定位置结束。 参数&a…

arraycopy - 数组复制【详细图解】

1.arraycopy底层代码&#xff1a; 2.arraycopy的使用 第一个参数:源数组 第二个参数&#xff1a;在源数组中&#xff0c;被复制的数字开始复制的下标 第三个参数&#xff1a;目标数组 第四个参数&#xff1a;从目标数组中&#xff0c;从第几个下标开始放入复制的数据 第五…

关于Java中arraycopy的用法

一、实现数组之间的复制 int c[] {1,2,3,4,5},d[]; dnew int[5]; System.arraycopy(c, 0, d, 0, 5); //实现数组之间的复制 for(int n0;n<d.length;n) {System.out.println(d[n]); } 将c数组中从索引为0开始长度为5的数据复制到d中&#xff0c;并从索引为0开始。 输…

页面左侧二级菜单20种案例

向下滑动查看 本文由码农网 – 小峰原创&#xff0c;转载请看清文末的转载要求&#xff0c;欢迎参与我们的付费投稿计划&#xff01; jQuery作为一款主流的JavaScript前端开发框架&#xff0c;深受广告开发者的亲睐&#xff0c;同时jQuery有着不计其数的插件&#xff0c;特别是…

纯CSS实现二级菜单

书写基本样式 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-widt…

jQuery一级菜单和二级菜单

1、先做一级菜单&#xff0c;第一步设置body&#xff0c;把大概样子写出来。 2、第二步-1、用css设置通配符。 3、第二步-2、设置ul标签基础样式 。 4、第二步-3、设置类样式。 5、设置jquery内容的第一步先引入jQuery文件。 6、第二步设置一个函数在里面放入我们要设置成的效果…

bootstrap导航窗格响应式二级菜单

这次碰到的需求是响应式二级导航窗格&#xff0c;默认的导航窗格只有点击下拉框的二级窗格&#xff0c;会有如下问题&#xff1a;一级菜单无法添加超链接&#xff0c;二级菜单展示要多点一下。 实现目标&#xff1a; 1.滑动到指定区域&#xff0c;展示二级菜单。 2.一级菜单和…

html 悬停 二级菜单,使用HTML+CSS实现鼠标划过的二级菜单栏!

话不多说&#xff0c;先上效果图&#xff1a; 1、鼠标没在上面 image 2、鼠标放在一级菜单上&#xff0c;展开二级菜单 image 3、鼠标放在二级菜单上 image二级菜单测试 /*为了使菜单居中*/ body { padding-top:100px; text-align:center; } /* -------------菜单css代码------…

DIV+CSS 二级菜单实现

DIVCSS实现二级菜单 在网页制作中我们经常会用到的这样的导航栏二级菜单布局 实现效果如下&#xff1a; 设计思路就是通过 ul li 的双重嵌套来实现二级菜单&#xff0c;l利用display:none将二级菜单默认隐藏&#xff0c;li:hover鼠标悬浮时再将其显示出来。 需要注意的是&…

html 二级菜单 鼠标移动消失,鼠标一离开导航菜单,二级菜单就隐藏,移不到二级菜单...

鼠标一离开导航菜单,二级菜单就隐藏,移不到二级菜单 wky1682008 2015-12-28 09:27 html >无标题文档 ul{margin:0;padding:0;list-style:none; font-size:16px;font-family:"宋体";} a{ text-decoration:none;} ul{width:1000px; margin:50px auto 20px;backgro…

HTML一级菜单和二级菜单区别,一级菜单和二级菜单对不齐

html>二级菜单 *{margin: 0px; padding: 0px; } ul{font-size: 18px; color: white; list-style-type: none; text-align: center; width: 200px; line-height: 40px; background-color: black; position: relative; } a{color:white; text-decoration: none; } li{border-b…

HTML下拉框二级菜单

一、form表单 <div><form><div><!-- 下拉框 --><select>//默认项为第一个<option>广州</option><option>深圳</option><option>山东</option><option>北京</option></select></div>…

html 二级页面 教程,css 实现动态二级菜单

动态实现简单的二级菜单 当鼠标放到一级标签上时&#xff0c;鼠标会变成小手的形状 展示二级菜单&#xff0c;源码如下&#xff0c;复制即可直接使用Document * {margin: 0; padding: 0;} ul { list-style: none;} div { width: 100%; height: 50px; background-color: #ccc; }…

HTML+CSS制作二级菜单栏

今天我们来练习一下二级菜单栏,说实话比较简单,但是自己一个人写的时候错误百出,逻辑混乱,于是乎网上找了几个案例,借鉴了一下思路,才整明白,鄙人确实不才,哈哈! 效果图附上: 首先:我已链接了外部样式重置,所以无需自己亲自写: reset.css网上有很多,我用的是下面…

JS二级菜单

我们使用HTMLcssjs来写出二级菜单的简易效果 首先来看HTML的代码&#xff0c;这个没什么好说的 <div class"box"><div class"topbox"><ul><li class"bgc">春雨</li><li>夏风</li><li>秋雾<…

html 二级菜单

先放效果图&#xff1a; 首先设置菜单的基本轮廓 <div id"nav"><ul><li><a href"#">一级菜单1</a></li><li><a href"#">一级菜单2</a></li><li><a href"#" …

html、css 实现二级菜单

本文中&#xff0c;一级菜单我设计了五个元素&#xff08;然后给第四个元素设计了二级菜单&#xff09; html&#xff1a; <nav><ul class"topnav clearfix"><li><a href"">Lorem.</a></li><li><a href&quo…