java数组-数组既定义长度又要赋值。

问题描述

数组既定义长度又要赋值。
java大神们问个问题,我定义了N个数组
char []N1=new char[1];
char []N2=new char[2];
……
在使用的时候再给它赋值
N1[0]=0x01;
那N2……怎么定义?一字节一字节定义岂不是会累死?后面还有几十个字节的。
(不能在初始化的时候赋值,因为我既需要长度又需要赋值,因为长度不会变,值可能经常要改。)
类似于C结构体那种吧,有没有个方法一类的可以实现一串数赋值的。
我查到的是用arraycopy复制,但是现在需求是,比如N18要改,我还得去源数组里算半天N18是哪个位置,操作性太差,有没有更好的方法?

解决方案

赋值存在规律吗? 如果存在规律的话, 你用算法做好, 用变量来接。

解决方案二:
数组的定义及赋值

解决方案三:
换一种数据结构,使用list去存储

解决方案四:
这不是java语言问题,这是算法问题,没看明白你的需求是什么,不过如果是赋值的话,你可以把所有数据对象加到一个List中,
这样就可以在循环中按照规则赋值了。

时间: 2024-08-22 16:40:08

java数组-数组既定义长度又要赋值。的相关文章

java-Java中定义数组必须要指定长度吗,如果是为什么?

问题描述 Java中定义数组必须要指定长度吗,如果是为什么? Java中定义数组必须要指定长度吗,如果是为什么?今天写程序时,前面定义了一个数组是空的int[] a ={};但是在下面用a[i]循环赋值时会出现 java.lang.ArrayIndexOutOfBoundsException错误,当我用int[] a = new int[8];这种形式就不会出现这种错误,这是什么原因,求回答啊 解决方案 Java中的数组是定长的!你这样int[] a ={}; 定义出来的数组a 长度为0,已经是

java中数组的定义及使用方法(推荐)_java

数组:是一组相关变量的集合 数组是一组相关数据的集合,一个数组实际上就是一连串的变量,数组按照使用可以分为一维数组.二维数组.多维数组 数据的有点 不使用数组定义100个整形变量:int i1;int i2;int i3 使用数组定义 int i[100]; 数组定义:int i[100];只是一个伪代码,只是表示含义的 一维数组 一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的, 使用java数组,必须经过两个步骤,声明数组和分配内存给该数组, 声明形式一 声明一维数组:数据类型

c语言-关于数组问题,定义一定长度数组,如何输入-1初始化结束

问题描述 关于数组问题,定义一定长度数组,如何输入-1初始化结束 如图第4题,如何输入-1初始化结束? 关于数组问题,定义一定长度数组,如何输入-1初始化结束 解决方案 如果用户输入有效长度为n,a[n十1]='\0'就可以了 解决方案二: 自己根据输入来判断,然后当是-1的时候,数组就不在保存新的数据,然后开始后面的逻辑 解决方案三: 用一个数表示数组实际输入的元素个数 遇到-1 结束输入(超过50也结束) 然后,就不用考虑输入的事情了,干活吧

java中数组越界是什么意思

问题描述 java中数组越界是什么意思 java中数组越界是什么意思 是不是数组的元素的类型发生不统一的情况 解决方案 越界就是超过了边界,数组脚标是从0开始的,你定义的数组长度为5,那么你的脚标就只能是0,1,2,3,4 .向上或向下超过了超过了都是越界 解决方案二: 数组越界就是提供的下标超出边界(out of bound),比如 int[] a = new int[10]; 那么 a[-1] 和 a[11]就是越界. 解决方案三: 比如你定义了一个长度为5的数组int[] a = new

Java创建数组的几种方式总结_java

1.一维数组的声明方式: type[] arrayName; 或 type arrayName[]; 附:推荐使用第一种格式,因为第一种格式具有更好的可读性,表示type[]是一种引用类型(数组)而不是type类型.建议不要使用第二种方式 下面是典型的声明数组的方式: // 声明整型数组 int[] intArray0 ; int intArray1 []; // 声明浮点型数组 float floatArray0 []; float[] floatArray1 ; // 声明布尔型数组 boo

举例讲解Java中数组和字符串类型的使用方法_java

Java数组 数组是具有相同数据类型的一组数据的集合,Java支持多为数组,一维数组的每个基本单元都是基本数据类型的数据,二维数组就是每个基本单元是一维数组的一维数组,以此类推,n维数组的每个基本单元都是n-1为数组的n-1维数组.下面以一维数组为例说明Java数组的用法. 1.数组声明 数组声明有如下两种形式(方括号的位置不同): int arr[]; int[] arr2; 2.数组初始化 数组初始化也有两种形式,如下(使用new或不使用new): int arr[] = new int[]

java的数组初始化

在C中初始化数组极易出错,而且相当麻烦.C++通过"集合初始化"使其更安全(注释⑥).Java则没有象C++那样的"集合"概念,因为Java中的所有东西都是对象.但它确实有自己的数组,通过数组初始化来提供支持. 数组代表一系列对象或者基本数据类型,所有相同的类型都封装到一起--采用一个统一的标识符名称.数组的定义和使用是通过方括号索引运算符进行的([]).为定义一个数组,只需在类型名后简单地跟随一对空方括号即可: int[] al; 也可以将方括号置于标识符后面,获

java中数组与List相互转换的方法

1.List转换成为数组.(这里的List是实体是ArrayList) 调用ArrayList的toArray方法. toArray public <T> T[] toArray(T[] a)返回一个按照正确的顺序包含此列表中所有元素的数组:返回数组的运行时类型就是指定数组的运行时类型.如果列表能放入指定的数组,则返回放入此列表元素的数组.否则,将根据指定数组的运行时类型和此列表的大小分配一个新的数组. 如果指定的数组能容纳列表并有剩余空间(即数组的元素比列表的多),那么会将数组中紧跟在集合末

Java 合并数组

Java 合并数组 (1)合并字节数组 Java代码   /***       * 合并字节数组       *        * @param a       * @return       */       public static byte[] mergeArray(byte[]... a) {           // 合并完之后数组的总长度           int index = 0;           int sum = 0;           for (int i = 0