美文网首页
Java数组总结

Java数组总结

作者: w黄杨w | 来源:发表于2017-05-26 12:05 被阅读0次

数组是具有相同类型的一种数据的集合,按照维度可分为一维数组、二维数组和多维数组

数据类型

数组是引用类型(即是对象类型),数组名字并非数组空间,而是对数组空间的一个引用变量(类似指针)

声明方式

  • 数组元素类型可以是Java中的任意数组类型,包括基本类型和非基本类型
  • 数组名字是合法的标识符;一个[]表示数组的一维)
int             array1Name[];      //一维数组
Object[]        array2Name;        //一维数组
Integer         array3Name[][];    //二维数组
CustomClass[][] array4Name;        //二维数组
Void[]          array5Name[];      //二维数组
  • 注意,上述为声明,并未给数组分配实际内存空间。
  • 创建并分配内存空间
int array1Name[] = {1, 2, 3};             // 分配并初始化一维数组
int array2Name[] = {{1, 2, 3}, {4, 5}};   // 分配并初始化二维数组
int array3Name[] = new int[3];            // 声明并分配长度为 3 * 4 字节的数组
array3Name = new int[5];                  // 方法执行时分配长度为 5 * 4 个字节的数组
  • 分配内存但未初始化时,数组中各个元素的初始化值都为0

二维数组

  • 二维数组可以看成一维数组的数组。
  • 数组名是一个引用变量,其指向一个数组空间,空间里都是引用变量,这些变量就是第一维
  • 第一维的每个引用变量各自再指向一个数组空间,这个数组空间就是第二维,也就是真正的数组元素类型组成的空间
  • 多维数组,每一维的长度不一定要相同。如二维数组的第二维由数组元素类型组成的空间可以是不同长度的

内存模型

  • 一维数组
Object arr = new Object[4];
image.png
  • 二维数组
int a[][] = {{1, 2,}, {3, ,4 5}};
image.png

访问

  • 访问数组元素:arrayName[index]
  • 下标index从0开始
  • 数组空间是固定长度的(分配空间时确定),空间元素内容可以改变
  • 填空替换:Arrays.fill
    • fill(数据类型[] 数组名字, 数据类型 value)
    • fill(数据类型[] 数组名字, int formIndex, int toIndex, 数据类型 value)
    • 直接在原数组上操作
  • 排序:Arrays.sort(升序)
    • sort(数据类型[] 数组名字)
    • sort(数据类型[] 数组名字, int formIndex, int toIndex)
    • 直接在原数组上操作
  • Arrays.copyOf
    • copyOf(数据类型[] 数组名字, int 新数组长度)
    • 新数组长度超过原数组,多的用0填充;从下标0开始拷贝
    • 返回值为新数组
  • 复制:Arrays.copyOfRange
    • Arrays.copyOfRange(数据类型[] 数组名字, int fromIndex, int toIndex)
    • fromIndex必须在原数组下标范围内;toIndex可以超过原数组长度;拷贝时不包括toIndex(闭开区间)
    • 返回值为新数组

相关文章

  • Java数组总结

    前言 开发中避免不了和数据打交道,今天给大家介绍Java中的数组 目录 1.数组类型 1.1 理解数组 定义数组是...

  • Java数组总结

    数组是具有相同类型的一种数据的集合,按照维度可分为一维数组、二维数组和多维数组 数据类型 数组是引用类型(即是对象...

  • 造轮子搞面试——android

    JAVA: 1.研读Effective Java并做总结 2.Java数组基本功(动态初始化、静态初始化) 3.实...

  • 【转】JavaScript中15种数组的使用方法总结

    转载自:JavaScript中15种数组的使用方法总结_anqiaoyun的博客-CSDN博客 本文总结了Java...

  • 第11章:持有对象

    记录《Thinking In Java》学习过程中的一些总结。 数组 数组将数字与对象联系起来。它保存类型明确的对...

  • Java打印Array数组的方法

    在Java中打印Array数组的方法,这里主要总结了有四种:(1)通过循环打印数组(2)使用 Arrays.toS...

  • 从零学java笔录-第28篇 数组7 数组操作3-数组反转

    本节主要内容: 1:数组反转 2:本节总结&下节预告 本文出处:《凯哥陪你学系列之java基础篇.Java基本语法...

  • 数组

    接触过java数组 但是没有系统总结过 今天学习之前 定义数组的格式老是忘1.首先是声明格式(三种):int[] ...

  • 【骚全带你学Java---九、认识java数组】

    java中数组 数组是指一组数据的集合,数组中的每个数据称为元素。在Java中,数组也是Java对象。数组中的元素...

  • JAVA 基本功秘籍

    1. Java数组与内存控制一、Java数组初始化 Java数组是静态的,即当数组被初始化之后,该数组的长度是不可...

网友评论

      本文标题:Java数组总结

      本文链接:https://www.haomeiwen.com/subject/owntfxtx.html