zoukankan      html  css  js  c++  java
  • 数组

    1、数组的概述

          概念:数组是相同数据类型数据的有序集合(每一个数据时一个数组元素,可以通过下标来进行访问)

         数组的基本特点

               1.长度是确定的,数组一旦被创建,数组的长度就不会改变

               2.数组元素必须是相同的类型,不存在混合类型

               3.数组的类型可以任何类型,可以使基本数据类型也可以是引用数据类型

               4.数据变量属引用数据类型,数组也可以看成对象,数组中的每个元素可以看成该对象的成员变量

               5.数组本身就是对象,java中的对象在堆中,所以数组对象本身是在堆中

    2、数组的声明、初始化、创建

           数组必须先声明才能使用

          声明的语法

                数组类型[] 数组名; //首选方法

                数组类型 数组名[]; //效果相同,但是不是首选方法

          数组的初始化

               1.静态初始化

                   

            int[] a = {1,2,3,4};
            int[] b = new int[]{0,6,4,3,3};

               2.动态初始化

               

           int[] c = new  int[5];

    3、数组的使用

            数组元素的访问索引是从0开始的

          数组的长度是:  数组名.length

             1、数组当做方法的入参

                  

    public class shuzu1 {
        public static void main(String[] args) {
               int[] a  = {1,2,3,4};
               f(a);
        }
        public  static  void f(int[] a){
            for (int i = 0; i < a.length; i++) {
                System.out.println(a[i]);
            }
        }
    }

             2、数组可以作为返回值

     //反转函数
        public  static  int[] reserse(int[] a)
        {
            int[] result = new int[a.length];
            //反转操作
            for (int i = 0,j=result.length-1; i <a.length; i++,j--) {
                 result[j] = a[i];
            }
            return  result;
        }

    4、多维数组

         1.二维数组

          1、理解:二维数组可以看成一数组的数组,二维数组就是一个特殊的一维数组,每一个元素都是一个一维数组

          2、样式:int a[][]  = new int[3][4];  (二维数组a可以看成一个三行四列的数组)

          3、声明、初始化和创建

               

     1 /* 第一种方式 */
     2 int tdarr1[][] = { { 1, 3, 5 }, { 5, 9, 10 } };
     3 /* 第二种方式 */
     4 int tdarr2[][] = new int[][] { { 65, 55, 12 }, { 92, 7, 22 } };
     5 /* 第三种方式 */
     6 int tdarr3[][] = new int[2][3]; // 先给数组分配内存空间
     7 tdarr3[0] = new int[] { 6, 54, 71 }; // 给第一行分配一个一维数组
     8 tdarr3[1][0] = 63; // 给第二行第一列赋值为63
     9 tdarr3[1][1] = 10; // 给第二行第二列赋值为10
    10 tdarr3[1][2] = 7; // 给第二行第三列赋值为7

    5、Arrays类

         1、Arrays数数组的工具类,java.util.Arrays,里面提供的操作数组的方法都是static修饰的静态方法可以直接使用;

         2、常用的方法

             给数组赋值:fill()方法;

             数组排序:sort();

             比较数组:equals();

             查找数组元素:binarySearch()能对排序好的数组进行二分法查找

             打印数组元素:toString()

    6、稀疏数组

          1、 是一种数据结构,对算法可以进行压缩

         2、当一个数组中,大部分元素是0,或者是为同一个值的时候,可以用稀疏数组来保存该数组

         3、稀疏数组的处理方式

               1、记录数组有几行几列,有多少个不同的值;

               2、把具有不同值的元素和行列以及值记录在一个小规模的数组中,从而缩小数组的规模;

              

               

        

  • 相关阅读:
    Golang之排序算法
    Golang之一个简单的聊天机器人
    golang之流程控制(注意点)
    golang之指针
    vs code中自动添加注释插件koroFileHeader
    stack栈、heap堆的说明图
    c语言中的数据类型的最大最小值
    数组问题:a与&a有的区别
    STM32F10x之NVIC
    大小端的另一种测试方法
  • 原文地址:https://www.cnblogs.com/slpwyl/p/14552772.html
Copyright © 2011-2022 走看看