【Java】数组

一、声明及其初始化

动态初始化(指定长度,系统自动赋初值):类型名[] 数组名 = new 类型名[长度];
int[] arr=new int[10];
int arr[]=new int[10];

静态初始化(指定内容,系统自动给容量):类型名[] 数组名 = {元素1,元素2……};
int[] arr={1,2,3};

快速初始化:Arrays.fill(数组名,初始值);

简化写法:arr = new int[]{1,2,3,4};
  相当于:int[] annoymous={1,2,3,4}; arr = annoymous;

二、数组常用技巧

1、for-each 循环:循环数组(一行)的每一个元素(不可遍历二维数组,可用两个for循环解决)
2、Araays.toString(arr): 将arr转化为字符串,可打印出数组所有值
   System.out.println(Array.toString(arr));
3、Arrays.copyOf(数组名,长度)
   将arr的值赋给新创建数组arr1(容量为2*arr.length),多余元素自动赋初值0,长度不够则只赋前面元素
   int[] arr1=Array.copyOf(arr,2*arr.length); 
4、Arrays.sort(数组名):实现数组元素升序
5、Arrays.equals(数组1,数组2):比较两数组是否相同 
6、Arrays.binarySearch(数组名,起始标号(包括该下标),终止标号(不包括),待查找值):查找成功则返回其下标,否则返回一个负数(需保证数组有序)
7、Arrays.deepToString(数组名):打印二维数组
8、不规则数组:java实际上没有多维数组,只有一维数组。多为数组为“数组的数组”,即一维数组中的元素为一维数组
   故可以用arr[i]代表整个第i行
9、import java.util.Arrays; 引用Arrays函数需加上的头文件 

 三、代码展示

import java.util.Arrays;
public class Array2 {
    public static void main(String[] args) {
        int[] a=new int[5];  //创建一个具有5个元素的数组
        Arrays.fill(a,14); //将数组a元素均初始化为14
        int[] b= new int[]{1, 5, 10, 100, 580}; //创建一个具有5个元素的数组b,且进行初始化
        int[] c=Arrays.copyOf(a,a.length); //创建一个数组c,并将a的值赋给它,不足补0
        System.out.println(Arrays.binarySearch(b,0,b.length,10)); //从1~b.length中二分查找10这个数值(需有序)
        System.out.println(Arrays.toString(c)); //将数组c转化为字符串
        System.out.println(Arrays.toString(b));
        System.out.println(Arrays.equals(a,b));//比较数组a和b是否完全一致
        System.out.println(Arrays.binarySearch(a,10));
        for(int k:c) {
            System.out.println(k); //遍历打印出数组c的元素
        }
    }
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值