Java基础41-操作动态数组

Java在创建数组的时候,需要指定数组长度,且数组长度不可变。而在java.lang.reflect包下提供了一个Array类,这个类中包括了一系列static方法,通过这些方法可以创建动态数组,对数组元素进行赋值、取值操作。

Array类提供的主要方法如下:

  • Object newInstace(Class componentType,int length)

创建一个具有指定元素类型和长度的新数组。

  • Object newInstance(Class componentType,in... dimensions)

创建一个具有指定元素类型和维度的多维数组。

  • void setXxx(Object array,int index,xxx val)

将指定数组对象中索引元素的值设置为指定的xxx类型的val值。

  • xxx getXxx(Object array,int index)

获取数组对象中指定索引元素的xxx类型的值。

1.操作一维动态数组

import java.util.Scanner;
import java.lang.reflect.*;
public class Test{

    public static void main(String args[]){
        try{
        Scanner sc = new Scanner(System.in);
        Class c = Class.forName("java.lang.String");
        System.out.println("请输入班级人数:");
        intstNum=sc.nexInt()t;
        Object arr = Array,newInstance(c,stuNum);
        System.out.println("请输入学号:");
        int id= sc.nextInt();
        System.out.println("请输入姓名:");
        String name = sc.next();
        Array.set(arr,(id-1),stuName);
        System.out.println("学号:"+id+",姓名:"+Array.get(arr,(id-1)));
        }catch(Exception e){
                e.printStackTrace();
            }
        }
}

}

结果:

请输入班级人数:
40
请输入学号:
20
请输入姓名:
雷静
学号:20,姓名:雷静

2.操作多维动态数组

使用Array类创建一个多维数组的方法为newInstance(Class componentType,int... dimensions),其中dimensions参数表示新建数组维度的Int数组。

import java.lang.reflect.*;
public class Test{

       public static void main(String args[]){

        try{
            Calss c = Integer.TYPE;
            int dim[]={8,10};
            Object arr = Array.newInstance(c,dim);
            Object arr4=Array.get(arr,4);
            Array.set(arr4,6,20);
            System.out.println("arr4[4][6]的值为:"+Array.get(arr4,6));

            }catch(Exception e){
                e.printStackTrace();
                }
    }



}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值