用JAVA 实现以前C实现的很简单的数组操作。
import com.sun.prism.j2d.PrismPrintGraphics;
public class ArrayUtils{
//1.计算数组中最大值
public static int arrayMaxElement(int[] data){
int max = data[0];
for(int i = 0;i<data.length;i++){
if(data[i]>max){
max = data[i];
}
}
return max;
}
//2.计算数组中最小值
public static int arrayMinElement(int[] data){
int min = data[0];
for(int i = 0;i<data.length;i++){
if(data[i]<min){
min = data[i];
}
}
return min;
}
//3.计算数组值之和
public static int arrayElementSum(int[] data){
int sum = data[0];
for(int i=0;i<data.length;++i){
sum += data[i];
}
return sum;
}
//4.数组拼接
// A {1,3,5,7,9} B {2,4,6,8,10} -> {1,3,5,7,9,2,4,6,8,10}
public static void arrayJoin(int[] a, int[] b){
int [] join = new int [a.length+b.length];
for(int i=0;i<a.length;i++){
join[i] = a[i];
}
for(int i=0;i<b.length;i++){
join[i+a.length] = b[i];
}
printArray(join);
}
//5.数组截取
//[start, end)
// A {1,3,5,7,9} ->(A,1,3) > {3,5}左闭右开
public static void arraySub(int[] data, int start , int end){
int [] new_ = new int [end-start];
int n=0;
for(int i= start;i<end;i++){
new_[n] = data[i];
n++;
}
printArray(new_);
}
//6.数组打印
public static void printArray(int[] data){
for(int i=0;i<data.length;i++){
System.out.print(data[i]+"、");
}
}
//7.数组反转
// 比如:[1,2,3,4] => [4,3,2,1]
public static void printReversal(int[] data){
for(int i=0;i<data.length/2;i++){
int tmp = data[i];
data[i] = data[data.length-1-i];
data[data.length-1-i]=tmp;
}
printArray(data);
}
public static void main(String[] args){
int [] src = new int [] {2,33,5,1,7,4,34,87,22,54};
int [] dest = new int[] {4,5,6,7,8,4,3};
System.out.println("最大值是:"+arrayMaxElement(src));
System.out.println("最小值是:"+arrayMinElement(src));
System.out.println("数组之和是:"+arrayElementSum(src));
System.out.print("拼接之后:");
arrayJoin(src, dest);
System.out.println("");
System.out.print("数组截取:");
arraySub(src,2,6);
System.out.println("");
System.out.print("数组反转:");
printReversal(src);
}
}
测试结果: