Java数组

一维数组

创建:

  1. 先声明,再使用new运算符经行内存分配
    -int arr[]; // int 数组类型 arr 数组名字
    -int[] arr // int 数组类型 arr 数组名字
    声明数组后,含不能立即访问,含需要给他分配内存;
    -arr = new int[len]; //arr 数组名 int 类型 len 数组元素个数

  2. 声明的同时为数组分配内存

    -int arr = new int[len] ; //arr 数组名 int 类型 len 数组元素个数

初始化数组:

  1. int arr[] = new int [len]{1,2,3}; //arr 数组名 int 类型 len 数组元素个数
  2. int arr[] = {1,2,3};

二维数组

创建:

  1. 先声明,再使用new运算符经行内存分配
    -int arr[][]; // int 数组类型 arr 数组名字
    -int[] [] arr // int 数组类型 arr 数组名字
    声明数组后,含不能立即访问,含需要给他分配内存;
    -arr = new int[len][len]; //arr 数组名 int 类型 len 数组元素个数

  2. 声明的同时为数组分配内存
    -int arr = new int[len][len] ; //arr 数组名 int 类型 len 数组元素个数

初始化数组:

  1. int arr[] = new int [l][]{{1,2},3}; //arr 数组名 int 类型

数组的基本操作

遍历数组:

  1. 普通for循环遍历
public static void main(String[] args) {
        int[] arr = {1,23,4,5,6};
        for(int i=0 ; i<arr.length;i++){
            System.out.println(arr[i]);
        }
    }
  1. 增强for循环
 public static void main(String[] args) {
        int[] arr = {1,23,4,5,6};
        for(int i:arr){
            System.out.println(i);
        }
    }

数组的常用方法

方法功能
length获取数组长度
fill(int[] arr, int value)将指定的int值分配给int型数组的每个元素
fill(int[] a, int fromlndex, int tolndex,int value)将指定的int值分配给int型数组指定范围中的每个元素
Arrays.sort(object)对数组经行排序
copyOf(arr , int newlength)复制数组至指定长度
copyDfRange(arr, int formlndex,int toindex)将指定数组的指定长度复制到一个新数组中去
binarySearch(object[] arr;object key)使用二分法搜索指定数组,返回该方法的索引值
binarySearch(object[] arr , int formlndex, int tolndex , obbject key)在指定范围内检索某一元素

length:

   public static void main(String[] args) {
        int arr[] = {1,2,3,4,5,7};
        int a = arr.length;
        System.out.println(a);
    }
返回:6

填充替换数组

在数组定义完成后,可以通过Arrays类的静态方法fill来对数组中的元素经行替换。该方法通过各种重载形式可完成对任意类型的数组元素的替换。fill方法有两种参数类型:

  • fill(int[] arr, int value)
    将指定的int值分配给int型数组的每个元素
    语法:fill(int[] arr, int value)
    arr:要经行替换的数组。
    value:要存储数组中所有元素的值
 public static void main(String[] args) {
        int arr[] = new int[5];
        Arrays.fill(arr,2);
        for(int i =0 ; i<arr.length;i++){
            System.out.print(arr[i]);
        }
返回:2 2 2 2 2

  • fill(int[] a, int fromlndex, int tolndex,int value)
    将指定的int值分配给int型数组指定范围中的每个元素。填充的范围从索引fromIndex一直索引toIndex。如果fromIndex=toIndex,则填充范围为空
    语法:fill(int[] a, int fromlndex, int tolndex,int value)
    arr:要经行填充的数组
    fromIndex:要使用指定值填充的第一个元素值(包括)。
    toIndex :要使用指定值填充的最后一个元素的索引值(不包括).
    value:要存储在数组所有元素的值。
int arr[] = new int[5];
        Arrays.fill(arr,1,3,8);
        for(int i =0 ; i<arr.length;i++){
            System.out.println(arr[i]);
        }
 返回:0 8 8 0 0

对数组经行排序

  • 语法:Arrays.sort(object) //object 数组名
public static void main(String[] args) {
        int[] arr = {1,23,4,5,6};
        for(int i:arr){
            System.out.println(i);
        }
    }
返回:1 4 5 6 23 

复制数组

  • copyOf(arr , int newlength):复制数组至指定长度
    语法:copyOf(arr , int newlength)
    arr:要复制的数组
    newlength :int类型的常量 指复制后新数组的长度
  int arr[] = {1,2,3,4,5,7};
        int[] arr1 = Arrays.copyOf(arr, 6);
        for(int a : arr1){
            System.out.println(a);
        }
返回:123457
  • copyDfRange(arr, int formlndex,int toindex):将指定数组的指定长度复制到一个新数组中去
    语法:copyDfRange(arr, int formlndex,int toindex)
    arr:要进行复制的数组
    formIndex :开始复制的索引位置 0<formIndex<arr.length
    toindex: 要复制范围的最后索引位置
 int arr[] = {1,2,3,4,5,7};
        int[] arr1 = Arrays.copyOfRange(arr, 2,5);
        for(int a : arr1){
            System.out.print(a);
        }
  返回3 4 5 

查询数组

  • binarySearch(object[] arr;object key):使用二分法搜索指定数组,返回该方法的索引值
    语法:binarySearch(object[] arr;object key)
    arr:要搜索的数组
    key:要搜索的值
 int[] arr = {1,23,4,5,6};
        int i = Arrays.binarySearch(arr, 1);
        System.out.println(i);
返回:0
  • binarySearch(object[] arr , int formlndex, int tolndex , obbject
    key):在指定范围内检索某一元素
    语法:binarySearch(object[] arr , int formlndex, int tolndex , obbject key)
    arr:要搜索的数组
    formIndex :开始位置 0<formIndex<arr.length
    toindex: 最后位置
    key:要搜索的值
 int[] arr = {1,23,4,5,6};
        int i = Arrays.binarySearch(arr, 1,4,1);
        System.out.println(i);
   返回:-2
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值