Java中怎么声明和创建数组

发布时间:2022-02-21 14:52:44 作者:iii
来源:亿速云 阅读:161

这篇文章主要介绍了Java中怎么声明和创建数组的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中怎么声明和创建数组文章都会有所收获,下面我们一起来看看吧。

数组

数组 (Array) 是有序数据的集合, 在 Java 中 java.util.Arrays包含用来操作数组的各种方法, 比如排序和搜索等. 其所有方法均为静态方法, 调用起来非常简单.

Java中怎么声明和创建数组

声明数组的两个方法

方法一:

数据类型[] array;

方法二:

数据类型 array[];

创建数组的两个方法

方法一:

数据类型[] array = new 数据类型[n];

int[] array = new int[10];

方法二:

数据类型[] arrray = {value1, value2, ...}

int[] array = new int[10];

索引

索引 (Index) 可以帮助我们定位到想要的数据, 大幅提高数据的检索速度.

自定义数组

泛型

<E>示一种指定的数据类型, 叫做泛型. E, 取自 Element (元素) 的首字母. 在出现 E 的地方, 我们使用一种引用数据类型将其替换即可, 表示我们将存储哪种引用类型的元素.

构造函数

// 有参构造
public Array(int capacity){
    data =  (E[]) new Object[capacity];
    size = 0;
}

// 无参构造
public Array(){
    this(10);
}

元素操作

// 头部添加元素
public void addFirst(E element){
   // 如果超过数组最大容量, 扔出异常
   if(size == data.length){
        throw new RuntimeException("array is full!");
    }

    // 列表所有index及元素后移
    for (int i = size - 1; i >= 0; i--) {
        data[i + 1] = data[i];
    }

    // 数组第size个赋值为element
    data[0] = element;

    // 数组大小+1
    size++
}

// 尾部添加元素
public void addLast(E element){
    // 如果超过数组最大容量, 扔出异常
    if(size == data.length){
        throw new RuntimeException("array is full!");
    }

    // 数组第size个赋值为element
    data[size] = element;

    // 数组大小+1
    size++;
}

// 通过索引添加元素
public void add(int index, E element){

    // 如果超过数组最大容量, 扔出异常
    if(size == data.length){
        throw new RuntimeException("reached max capacity");
    }

    if(index < 0 || index > size){
        throw new RuntimeException("invalid index");
    }

    // 列表所有index及以后的元素后移
    for (int i = size-1; i >=index; i--) {
        data[i + 1] = data[i];
    }
    data[index] = element;
    size++;
}

调用

public static void main(String[] args) {

    // 创建数组
    Array array = new Array(10);

    // 尾部添加
    array.addLast(2);
    array.addLast(3);
    array.addLast(4);
    System.out.println(array.toString());

    // 头部添加
    array.addFirst(1);
    array.addFirst(0);
    System.out.println(array.toString());

    // 通过index添加元素
    array.add(0, -1);
    array.add(6, 5);
    System.out.println(array.toString());
}

输出结果:

Array{data=[2, 3, 4, null, null, null, null, null, null, null]}
Array{data=[0, 1, 2, 3, 4, null, null, null, null, null]}
Array{data=[-1, 0, 1, 2, 3, 4, 5, null, null, null]}

完整代码

import java.util.Arrays;

public class Array<E> {
    private E[] data;  // 存放数据
    private int size;  // 存放数组元素个数

    // 有参构造
    public Array(int capacity){
        data = (E[]) new Object[capacity];
        size = 0;
    }

    // 无参构造
    public Array(){
        this(10);
    }

    // 获取数组容量
    public int getCapacity(){
        return data.length;
    }

    // 获取数组元素个数
    public int getSize(){
        return size;
    }

    // 判断数组是否为空
    public boolean isEmpty(){
        return size == 0;
    }

    // 头部添加元素
    public void addFirst(E element){
        // 如果超过数组最大容量, 扔出异常
        if(size == data.length){
            throw new RuntimeException("array is full!");
        }

        // 列表所有index及元素后移
        for (int i = size - 1; i >= 0; i--) {
            data[i + 1] = data[i];
        }

        // 数组第size个赋值为element
        data[0] = element;

        // 数组大小+1
        size++;
    }

    // 尾部添加元素
    public void addLast(E element){
        // 如果超过数组最大容量, 扔出异常
        if(size == data.length){
            throw new RuntimeException("array is full!");
        }


        // 数组第size个赋值为element
        data[size] = element;

        // 数组大小+1
        size++;
    }
    
    // 通过索引添加元素
    public void add(int index, E element){

        // 如果超过数组最大容量, 扔出异常
        if(size == data.length){
            throw new RuntimeException("reached max capacity");
        }

        if(index < 0 || index > size){
            throw new RuntimeException("invalid index");
        }

        // 列表所有index及以后的元素后移
        for (int i = size-1; i >=index; i--) {
            data[i + 1] = data[i];
        }
        data[index] = element;
        size++;
    }

    @Override
    public String toString() {
        return "Array{" +
                "data=" + Arrays.toString(data) +
                '}';
    }

    public static void main(String[] args) {

        // 创建数组
        Array array = new Array(10);

        // 尾部添加
        array.addLast(2);
        array.addLast(3);
        array.addLast(4);
        System.out.println(array.toString());

        // 头部添加
        array.addFirst(1);
        array.addFirst(0);
        System.out.println(array.toString());

        // 通过index添加元素
        array.add(0, -1);
        array.add(6, 5);
        System.out.println(array.toString());
    }
}

关于“Java中怎么声明和创建数组”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java中怎么声明和创建数组”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 如何在java中声明数组
  2. numpy 中怎么声明空数组

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Entity Framework Core如何生成列并跟踪列记录

下一篇:Python中怎么用Pygame实现欢乐打地鼠游戏

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》