数组的长度是不可变的,一旦分配好空间,是多长,就多长,不能增加也不能减少

一、复制数组

把一个数组的值,复制到另一个数组中

System.arraycopy(src, srcPos, dest, destPos, length)

src: 源数组

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

dest: 目标数组

destPos: 复制到目标数组的起始位置

length: 复制的长度

public class HelloWorld {

public static
void main(String[] args) {

int a [] = new
int[]{18,62,68,82,65,9};

int b[] = new
int[3];//分配了长度是3的空间,但是没有赋值

//通过数组赋值把,a数组的前3位赋值到b数组

//方法一: for循环

for (int i = 0; i < b.length; i++) {

b[i] = a[i];

}

//方法二: System.arraycopy(src, srcPos, dest, destPos, length)

//src: 源数组

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

//dest: 目标数组

//destPos: 复制到目标数组的启始位置

//length: 复制的长度

System.arraycopy(a, 0, b, 0, 3);

//把内容打印出来

for (int i = 0; i < b.length; i++) {

System.out.print(b[i] + " ");

}

}

}

二、练习--合并数组

题目:

首先准备两个数组,他俩的长度是5-10之间的随机数,并使用随机数初始化这两个数组(向数组填充随机数的办法,参考这里)

实现效果:

官方示例代码:

public class HelloWorld {

public static
void main(String[] args) {

int a[] = new
int[(int) (Math.random() * 5)+5];

for (int i = 0; i < a.length; i++)

a[i] = (int) (Math.random() * 100);

int b[] = new
int[(int) (Math.random() * 5)+5];

for (int i = 0; i < b.length; i++)

b[i] = (int) (Math.random() * 100);

System.out.println("数组a的内容:");

for (int i : a) {

System.out.print(i+" ");

}

System.out.println();

System.out.println("数组b的内容:");

for (int i : b) {

System.out.print(i+" ");

}

System.out.println();

int c[] = new
int[a.length+b.length];

System.arraycopy(a, 0, c, 0, a.length);

System.arraycopy(b, 0, c, a.length, b.length);

System.out.println("数组c的内容:");

for (int i : c) {

System.out.print(i+" ");

}

}

}

Java知识系统回顾整理01基础06数组05复制数组的更多相关文章

  1. Java知识系统回顾整理01基础06数组01创建数组

    一.数组定义 定义:数组是一个固定长度的,包含了相同类型数据的 容器 二.声明数组 int[] a; 声明了一个数组变量. []表示该变量是一个数组 int 表示数组里的每一个元素都是一个整数 a 是 ...

  2. Java知识系统回顾整理01基础06数组07数组工具类Arrays

    一.Arrays简介 Arrays是针对数组的工具类,可以进行 排序,查找,复制填充等功能. 大大提高了开发人员的工作效率. 二.Arrays提供的数组复制方法 与使用System.arraycopy ...

  3. Java知识系统回顾整理01基础06数组06二维数组

    一.一维数组和二维数组 这是一个一维数组, 里面的每一个元素,都是一个基本类型int int a[] =new int[]{1,2,3,4,5}; 这是一个二维数组,里面的每一个元素,都是一个一维数组 ...

  4. Java知识系统回顾整理01基础06数组03排序

    一.选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其他所有进行比较,只要比第二位小,就换到第二个 ...

  5. Java知识系统回顾整理01基础06数组02初始化数组

    一.分配空间与赋值分步进行 分配空间与赋值分步进行 public class HelloWorld { public static void main(String[] args) { int[] a ...

  6. Java知识系统回顾整理01基础06数组04增强型for循环

    增强型for循环在遍历一个数组的时候会更加快捷 一.增强型for循环 注:增强型for循环只能用来取值,却不能用来修改数组里的值 public class HelloWorld { public st ...

  7. Java知识系统回顾整理01基础04操作符05赋值操作符

    一.赋值操作 赋值操作的操作顺序是从右到左 int i = 5+5; 首先进行5+5的运算,得到结果10,然后把10这个值,赋给i public class HelloWorld { public s ...

  8. Java知识系统回顾整理01基础03变量05变量命名规则

    一.命名规则 变量命名只能使用字母 .数字. $. _ 变量第一个字符 只能使用: 字母. $. _ 变量第一个字符 不能使用数字 注:_ 是下划线,不是-减号或者-- 破折号 int a= 5; i ...

  9. Java知识系统回顾整理01基础04操作符06三元运算符

    一.三元运算符 表达式?值1:值2 如果表达式为真 返回值1 如果表达式为假 返回值2 if语句学习链接:if语句 public class HelloWorld { public static vo ...

随机推荐

  1. Asp.Net WebAPI的简介及创建

    一.WebAPI简介 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET F ...

  2. LinuxIP配置方法

    一.双网卡双IP. eth0为电信,eth1为联通. # cd /etc/sysconfig/network-scripts/ # vi ifcfg-eth0 DEVICE=eth0 HWADDR=0 ...

  3. 上海做假证t

    上海做假证[电/薇:187ヘ1184ヘ0909同号]办各类证件-办毕业证-办离婚证,办学位证书,办硕士毕业证,办理文凭学历,办资格证,办房产证不. 这是一个简单的取最大值程序,可以用于处理 i32 数 ...

  4. 如何用CMake构建Android C++库

    https://fireflytech.org/2017/11/04/compiling-cc-libraries-for-android/ https://blog.csdn.net/xhp2014 ...

  5. 和同事谈谈Flood Fill 算法

    前言 今天忙完了公司的工作后,发现同事在做LeeCode的算法题,顿时来了兴趣,于是王子与同事一起探讨如何能做好算法题,今天在此文章中和大家分享一下. 什么是Flood Fill 算法 我们今天谈论的 ...

  6. Pets(匈牙利算法)

    Are you interested in pets? There is a very famous pets shop in the center of the ACM city. There ar ...

  7. Funny Positive Sequence (思维+前缀)

    There are n integers a 1,a 2,…,a n-1,a n in the sequence A, the sum of these n integers is larger th ...

  8. Codeforces1312D Count the Arrays 组合数学

    题意 给你\(n\)和\(m\),问满足以下条件的数列的个数: 数列长度为\(n\) 数列值域范围为\(\left[1,m\right]\) 数列有且仅有一对相等的数 数列是单峰数列(先严格递增后严格 ...

  9. directives 自定义指令

    钩子函数 一个指令定义对象可以提供如下几个钩子函数 (均为可选): bind:只调用一次,指令第一次绑定到元素时调用.在这里可以进行一次性的初始化设置.基本数据类型如果发生改变,不会触发,但是引用数据 ...

  10. 大厂运维必备技能:PB级数据仓库性能调优

    摘要:众所周知,数据量大了之后,性能是大家关注的一点,所以我们在业务开发的时候,特别关注性能,做为一个架构师,必须对性能要了解,要懂.才能设计出高性能的业务系统. 一.GaussDB分布式架构 所谓集 ...