数组

作者: 刘欣怡_2022公益强化班 | 来源:发表于2022-02-12 16:26 被阅读0次

一篇笔记。。。。。。

一,数组的概述

1.数组的理解:数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

2.数组相关的概念:

>数组名

>元素

>角标,(下表,索引)

>数组的长度,即元素的个数

3.数组的特点:

1)数组是有序排列的

2)数组属于引用数据类型的变量。数组的元素既可以是基本数据类型,也可以是引用数据类型

3)创建数组对象会在内存中开辟一整块连续的空间

4)数组的长度一旦确定,就不能修改。

4.数组的分类:

1)按照维数:一维数组,二维数组......

2)按照数组元素的类型:基本数据类型元素的数组,引用数据类型元素的数组

5.一维数组的使用:

1)一维数组的赋值和初始化

//静态初始化:数组的初始化和数组元素的赋值操作同时进行

int[] ids//数组的初始化,int表示数组元素的类型

ids=new int[]{1001,1002,1003,1004}给数组元素进行赋值

//动态初始化:数组的初始化和数组元素的赋值操作分开进行

String[] names=new String[5]

2)如何调用数组内指定位置的元素(通过索引的方式)

        数组的索引从0开始到数组的长度-1结束

names[0]="张三";

names[1]="李四";

names[2]="王五";

3)如何获取数组的长度

属性:length

System.out.println(names.length);

4)如何遍历数组

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

    System.out.println(names[i]);

}

5)数组元素的默认初始化值

>数组元素是整形:0;

>数组元素是浮点型:0.0;

>数组元素是char型:0或\u0000;

>数组元素是boolean型:false;

>数组元素是引用数据类型:null;

ctrl+shift+o:导出导包

6.二维数组的使用:

1)二维数组的赋值和初始化

//静态初始化

int[][] arr1=new int[][]{{1,2,3},{4,5},{6,7,8}};

//动态初始化1

int[][] arr2=new int[3][2];

//动态初始化2

string[][] arr3=new string[3][];

2)如何调用数组内指定位置的元素(通过索引的方式)

        数组的索引从0开始到数组的长度-1结束

System.out.println(arr1[0][1]);//结果为2

System.out.println(arr2[0][1]);//结果为0

//需先声明/赋值

arr3[1]=new string[4]

System.out.println(arr3[0][1]);//结果为null

3)如何获取数组的长度

System.out.println(arr.length);//结果为3

System.out.println(arr[0].length);//3

4)如何遍历二维数组

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

    for(int j=0;j<arr1[i].length;j++){

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

    }

    System.out.println();

}

5)数组元素的默认初始化值

二,数组的使用

7.数组的反转

方法一:

for(int i=0;i<arr.length/2;i++){

    String temp=arr[1];

    arr[1]=arr[arr.length-1-i];

    arr[arr.length-1-i]=temp;

}

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

    System.out.print(arr[i]);

}

方法二:

for(int i=0,j=arr.length-1;i<j;i++,j--){

    String temp=arr[i];

    arr[i]=arr[j];

    arr[j]=temp;

}

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

    System.out.print(arr[i]);

}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

8.查找

1)线性查找

String dest=bb;//给要寻找的元素赋值

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

    if(dest.equals(arr[i])){

        System.out.println(i);//输出元素所在地址值

        break;

    }

}

2)二分法查找(前提:所要查找的数组必须有序)

冒泡排序

将相邻的两个数作比较,不满足要求交换位置

for(int i-0;i<arr.length-1;i++){

    for(int j=0;j<arr.length-1-i;j++){

        if(arr[j]>arr[j+1]){

            int temp=arr[j];

            arr[j]=arr[j+1];

            arr[j+1]=temp;

        }

    }

}

Arrays的基本使用方法

Arrays:操作数组的工具类,里面定义了很多方法

1.判断两个数组是否相等

//boolean equals(int[]a,int[]b),以int型为例

int[] arr1=new int[]{1,2,3,4};

int[] arr2=new int[]{1,3,2,4};

boolean isEquals=Arrays.equals(arr1,arr2);

System.out.println(isEquals);

2.输出数组信息

//String toString(int[] a)

System.out.ptintln(Arrays.toString(arr1));//直接输出数组中的元素

3.将指定值填充到数组中

//void fill(int[]a,int val)

Arrays.fill(arr1,10);//将arr1中的元素全部替换成10

4.对数组进行排序

//void sort(int[]a)

Array.sort(arr2);

System.out.println(Arrays.toString(arr2));

5.对排序后的数组进行二分法检索指定的值

//int binarySearch(int[]a,int key)

int index=Arrays.binarySearch(arr2,x);

System.out.println(index);

if(index<0)则意味着没有找到

相关文章

  • 数组

    数组数组数组数组数组数组数组数组数组

  • JavaScript - 5.数组<增删改查>

    数组 Array 数组 - 增 数组 - 删 / 改 数组 - 查 数组 - 自动 toString() 数组 -...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 》》》PHP初入---(三)

    数组定义 1.索引数组:数组下标是整型的 声明数组: 访问数组: count(数组)--获取数组长度 查看数组所有...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

  • Shell数组、关联数组

    数组 定义数组 获取数组 关联数组 定义关联数组 获取关联数组

  • 学习Java第五天

    数组是多个数据的集合 数组的语法 数组元素类型【】 数组名; 多维数组: 数组元素类型【】【】 数组名; 多维数组...

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • C语言的惯用集

    数组部分 数组部分 清空数组a 把数据读进数组a 对数组a求和

网友评论

      本文标题:数组

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