【IntelliJ IDEA 2019.3】byte[] 数组十分有用的操作
数组合并,将两个数组合并到一个数组中
数组长度是不可变,要想合并两个不同的数组,不能通过在一个数组的基础上追加另一个数组实现。需要创建一个新的数组,新数组长度是两个数组长度之和。然后再将两个数组的内容导入到新数组中。
下面具体看看实现代码:
public static byte[] ByteAarrayMerge(byte[] Origin, byte[] Later){
int OriginLength = 0;
if (Origin != null)OriginLength = Origin.length;
int LaterLength = 0;
if (Later != null)LaterLength = Later.length;
int TotalLength = OriginLength + LaterLength;
byte[] Ret = new byte[TotalLength];
int cnt = 0;
for (int i=0; i<OriginLength; i++){
Ret[cnt++] = Origin[i];
}
for (int i=0; i<LaterLength; i++){
Ret[cnt++] = Later[i];
}
return Ret;
}
java 复制byte数组
注意:尽量不要用这个复制函数,数组大到一定程序时,就会出错。还是自已写一个复制数组的函数吧。
System.arraycopy(src, srcSeq, Des, DesSeq, SrcLen);
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
代码解释:
Object src : 原数组
int srcPos : 从元数据的起始位置开始
Object dest : 目标数组
int destPos : 目标数组的开始起始位置
int length : 要copy的数组的长度
java如何向数组里添加元素
使用 ArrayList,ArrayList数组实际上是数组的升级版,类似于C++的vector的使用。
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(3);
list.add(2,4);
System.out.println(list);
有一点比较有趣的是:
List<Byte> ListLine = null; 是正确的写法,而一旦把Byte换成小写byte,就会编译错误,这是因为小写byte不是
Object类型吧。
打印数组
调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开
int[] array = {1,2,3,4,5};
System.out.println(Arrays.toString(array));
输出:[1, 2, 3, 4, 5]
数组初始化
List<Byte> listbyte = asList((byte)0x01,(byte)0x03);