开发工具与关键技术:MyEclipse 10、Java
作者:曾浩源
撰写时间:2019年04月01日
在java的学习中,数组是很常见的,关于数组做了以下的小结:
1、数组的声明:
(1)数组静态初始化
int[] arrayint=new int[]{5,6,9,7,8};
(2)数组动态初始化
int[] intarray=new int[1];
intarray[0]=8;
intarray[1]=6;
(3)静态初始化的简写
int[] intarray={5,6,9,8,7};
2、数组的从小到大的排序
int[] is={5,9,2,4,3,1};
Arrays.sort(is);
输出结果为{1,2,3,4,5,9}
当然字符串的也可以,英文从a到z,而中文而是按哈希编码排序;
3、数组不用遍历也可以正常显示出来
Arrays.toString(is)
4、修改数组某个索引的值
Array.setInt(is, 1, 12);
当然也有其他类型的:setByte() setShort()等等
当然也还有其他更多的方法在Array和Arrays里
但是唯独没有新增这个功能,在java也是不允许数组新增的,所以需要我们用别的一些方法,做成相似的新增:
//先创建一个新方法:
//传入int类型的数组,和int类型的变量(也就是需要新增的数字)
public static int[] add(int[] array,int args){
//先声明一个新的数组,用于存储数据 长度为传入数组的长度+1
int[] replace=new int[array.length+1];
//使用system类的拷贝数组方法,将传入数组的数据从索引0开始,放进新数组(也是从索引0开始),放入长度为传入数组的长度
System.arraycopy(array, 0, replace, 0, array.length);
//新数组的最后一个元素的索引也就是 传入数组的长度 将传入变量赋值给它
replace[array.length]=args;
//最后返回数组
return replace;
}
在main方法实现该方法
//声明数组
int[] is={5,9,2,4,3,1};
//声明变量
int h=6;
//调用方法
is=add(is, h);
//输出数组
System.out.println(Arrays.toString(is));
//结果
[1, 2, 3, 4, 5, 6, 9]
当然如果想新增别的类型的数组,就需要些一个属于该类型的方法,最后将他们封装起来。例如:字符串的。
public static String[] add(String[] array,String args){
String[] replace=new String[array.length+1];
System.arraycopy(array, 0, replace, 0, array.length);
replace[array.length]=args;
return replace;
}