欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java基础4——数组

程序员文章站 2022-06-03 23:52:23
...

Java基础4——数组

1、数组的概念

  • 当需要在Java程序中记录单个数据内容时,则声明一个变量即可
  • 当需要在Java程序中记录多个类型相同的数据内容时,则声明一个一维数 组即可,一维数组本质上就是在内存空间中申请一段连续的存储单元
  • 数组是相同数据类型的多个元素的容器,元素按线性顺序排列,在Java语 言中体现为一种引用数据类型

2、一维数组的声明

2.1、一维数组的声明

数据类型[] 数组名称 = new 数据类型[数组的长度];
数据类型[] 数组名称 = {初始值1, 初始值2, ...};

2.2、数组的方法

//长度
数组.length
//访问元素
数组[下标]

2.3、数组的优缺点

  • 可以直接通过下标(或索引)的方式访问指定位置的元素,速度很快
  • 数组要求所有元素的类型相同
  • 数组要求内存空间连续,并且长度一旦确定就不能修改
  • 增加和删除元素时可能移动大量元素,效率低

3、java.util.Arrays

3.1、数组复制

与System.arraycopy数组复制类似,但无需事先准备数组

import java.util.Arrays;

public class Test1 {
    public static void main(String[] args) {
        copyofrange();
    }
    public static void copyofrange(){
        int a[] = new int[] { 20,25,15,5416,464 };
        int[] b = Arrays.copyOfRange(a, 0, a.length);
        for (int i = 0; i < b.length; i++) {
            System.out.print(b[i] + " ");
        }
    }
}

3.2、转换为字符串

public class Test1 {
    public static void main(String[] args) {
        tostring();
    }
    public static void tostring(){
        int a[] = new int[] { 20,25,15,5416,464 };
        System.out.println(Arrays.toString(a));
    }
}

3.3、排序

public class Test1 {
    public static void main(String[] args) {
        sort();
    }
    public static void sort(){
        int a[] = new int[] { 20,25,15,5416,464 };
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));
    }
}

3.4、搜索

使用binarySearch之前,必须先使用sort进行排序

public class Test1 {
    public static void main(String[] args) {
        search();
    }
    public static void search(){
        int a[] = new int[] { 20,25,15,5416,464 };
        Arrays.sort(a);
        System.out.println(Arrays.toString(a));
        System.out.println(Arrays.binarySearch(a, 464));
    }
}

3.5、判断是否相同

public class Test1 {
    public static void main(String[] args) {
        equal();
    }
    public static void equal(){
        int a[] = new int[] { 20,25,15,5416,464 };
        int b[] = new int[] { 20,25,15,5416,465 };
        System.out.println(Arrays.equals(a,b));
    }
}

3.6、填充

public class Test1 {
    public static void main(String[] args) {
        fill();
    }
    public static void fill(){
        int a[] = new int[] { 20,25,15,5416,464 };
        Arrays.fill(a,10);
        System.out.println(Arrays.toString(a));
    }
}

4、二维数组

二维数组本质上就是由多个一维数组摞在一起组成的数组,二维数组中 的每个元素都是一维数组,而一维数组中的每个元素才是数据内容

4.1、二维数组初始化

数据类型[][] 数组名称 = new 数据类型[行数][列数];
数据类型[][] 数组名称 = {{元素1, 元素2,...}, ...};
相关标签: ReJava java