这几天看了一下有关JAVA的数组部分,下面就写几个有关数组的代码利于掌握;

㈠复制数组;

利用的是System.arraycopy(src, srcPos, dest, destPos, length);

其中五个参数的意义代表 src--被复制数组,srcpos---从第几个元素开始复制,dest---要复制的数组,destpos---从第几个元素开始存储,length----一共需要复制的数组个数;

实现的功能就是把a数组中得内容从a[0]复制到b数组中,b数组从b[2]开始接收a数组的内容,接收数目为3个,所以b[2]到b[5]就存储a数组的a[0]--a[3]的内容

代码如下:

package Practise;
public class ArrayCopy {public static void main(String[] args){String[] a = {"liao", "cheng", "shi", "dou"};String[] b = new String[a.length + 1];//数组b的初始化,申请的长度比a大一System.arraycopy(a, 0, b, 2, 3);//从a的第一个元素开始复制,b从第二个元素开始接收三个元素for (int i = 0; i < b.length; i++){System.out.println(b[i]);}}
}

运行结果如下:

㈡引用Copy

代码如下:

package Practice;
public class ReferenceCopyArray{public static void main(String[] args){int [] a = {2, 4, 6, 8, 10};定义一个数组int [] b = a;将a赋值给ba[0] = 1;a[1] = 3;a[2] = 5;a[3] = 7;a[4] = 9;for (int i = 0; i < b.length; i++){System.out.print(b[i] + " ");}}}

运行结果:

1 3 5 7 9

解释:有的人说为什么不是输出的是2, 4, 6, 8, 10;因为这是引用复制,对a的操作其实就是对b的操作,a改变即b改变;相当于C++中得引用&;

㈢不规则数组的测试

代码如下:

package Practice;
import java.util.Arrays;
public class RaggedArray {public static void main(String[] arg){int [][] raggedArray = new int[10][];//新建一个不规则数组,一维数组元素个数为10for (int i = 0; i <raggedArray.length; i++){//在第一维上进行遍历raggedArray[i] = new int[i + 1];//初始化二维数组(长度是变化的)for (int j = 0; j < raggedArray[i].length; j++){raggedArray[i][j] = j;//为二维数组每一个元素赋值
            }}/** 第一种输出格式,转化成字符串输出for (int i = 0; i < raggedArray.length; i++){String arrayStr = Arrays.toString(raggedArray[i]);//将二维数组的每一个元素转化成字符串System.out.println(arrayStr);}*///第二种输出格式,正常的输出for (int i = 0; i < raggedArray.length; i++){for (int j = 0; j < raggedArray[i].length; j++){System.out.print(raggedArray[i][j] + " ");}System.out.println();}}
}

第一种的输出格式,转化成字符串形式输出

第二种输出格式为:

转载于:https://www.cnblogs.com/lidaojian/archive/2012/06/02/2532129.html

JAVA----数组(一)相关推荐

  1. java数组简单介绍以及其方法

    小谈一下java数组 数组是存放数据的容器,有两个特点:元素类型唯一,长度固定. 一维数组声明:类型[] 数组名;类型 数组名[];推荐用前一种. 多维数组声明同样是以上要求. 在数组创建时,要注意一 ...

  2. java 数组 反射_java数组的反射

    java数组的反射,有一个JAVA API类可以运用:java.lang.reflect.Array 具体应用: 1:判断一个对象是否是数组: int arr[] = {1,2,3}; Class c ...

  3. java 2维数据便利_计算机等级考试二级java数组辅导

    数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信息分组的便利方法. 注意: ...

  4. (二十六)、Java数组在内存中如何存放与分配

    Java中有两种类型的数组: 基本数据类型数组: 对象数组: 当一个对象使用关键字"new"创建时,会在堆上分配内存空间,然后返回对象的引用,这对数组来说是一样的,因为数组也是一个 ...

  5. (PASS)JAVA数组去重 三种方法 (不用集合)

    第一种方法(只学到数组的看): 定义一个新的数组长度和旧数组的长度一样,存储除去重复数据的旧数组的数据和0, package demo01;import java.sql.Array; import ...

  6. Java数组的基本操作方法整理

    数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数 ...

  7. Java数组常见操作

    Java数组常见操作 文章目录 Java数组常见操作 7.0 数组的遍历 1.使用foreach循环访问数组中每个元素. 2.使用简单的for循环(多层循环嵌套)来遍历数组. 7.1 数组长度 7.2 ...

  8. Java 数组转型和范型

    今天写代码遇到一个奇怪的问题,代码结构如下: [java] view plaincopy print? ArrayList<String> list = new ArrayList< ...

  9. 1.1 Java数组简介:数组是什么?

    在某些情况下,虽然可以使用单个变量来存储信息,但是如果需要存储的信息较多(例如存储 50 名学生的成绩),这时再依次创建变量声明并赋值显得非常麻烦. 随着处理的信息量越来越大,工作也就越来越烦琐,这时 ...

  10. java数组可扩展_[转载]Java数组扩容算法及Java对它的应用

    Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的. 2)利用数组复制方法可以变通的实现数组扩容. 3)System.arraycopy()可以复制数组. 4)Arr ...

最新文章

  1. 基于 Python 的 8 种常用抽样方法
  2. 处理器后面的字母含义_电脑天天用,但CPU后缀的一个字母你知道代表这什么吗?...
  3. 疾风之刃鸿蒙炸裂,疾风之刃二周年版本12月1日上线_疾风之刃天武僧二觉率先开放_游戏堡...
  4. 机器学习入门---------numpy
  5. 观察者模式在android网络监控下的运用
  6. 学习Selenium 自动化从一张藏宝图开始
  7. 2005年1月8日——最伤心的一天
  8. 联合哈佛大学,Google 要用人工智能来预测地震余震
  9. Java之面试基础知识学习笔记
  10. java正则表达式yyyymmdd_java验证日期yyyyMMdd正则表达式,
  11. R 相关与相关性的显著性检验
  12. 联想拯救者Legion Y7000P 2020款安装ubuntu16.04 解决WIFI 显卡 cuda10.2)
  13. 什么是磁盘?磁盘的组成?接口和分区?
  14. 最后采用加权求和的方式得到样本的_一种婴幼儿视力自动检测方法与流程
  15. 大学生必看:基础IT技术文章300篇大合集!【包含信息/编码、IP/组网、程序逻辑、Web基础等】
  16. 为什么自动驾驶遇瓶颈,但自动代客泊车却很热?
  17. java故事之致敬坚持梦想的人
  18. 120帧手机动态壁纸_星空陨石动态壁纸手机版下载-星空陨石动态壁纸app安卓版下载v1.7最新版...
  19. web前端:img标签alt属性什么情况留空?
  20. html5 移动页面,html5入门到精通,移动设备的html5页面布局

热门文章

  1. html判断sql没结果,SQL存储过程测试(8)——当待测存储过程没有返回值的时候 如何判断测试结果是否通过...
  2. python解密m3u8播放_Python3 通过m3u8连接获取完整媒体文件(附全网视频VIP观看方法)...
  3. maxvalue mysql自动分区_深入解析MySQL分区(Partition)功能
  4. VS2017离线下载 -- 如何让VS2017不占用C盘
  5. 开源一套基于 React Naitve 的业务驱动型 UI 组件库:react-native-atlas
  6. Net设计模式实例之建造者模式(Builder Pattern)(1)
  7. Java 经典习题-初学
  8. Fenzo:来自Netflix基于Java语言的Mesos调度器
  9. VirtualBox centos下设置共享文件夹
  10. Windows8中pid为4的system进程占用80端口的解决办法