此代码是将一些常用的数组操作方法封装成一个类

功能有求最大值,最小值,求和,求平均值,排序,转置,拷贝

package test;	// 此java文件所在的包

import static java.lang.System.out;
import java.util.Scanner;
import java.util.*;

class ArrayUtil{
	private int max;
	private int sum;
	private int min;
	private double avg;
	
	public ArrayUtil(int array[])
	{
		this.max = array[0];
		this.min = array[0];
		for(int k : array)
		{
			if(k > max)	this.max = k;
			if(k < min)	this.min = k;
			this.sum += k;
		}
		avg = sum / array.length;
	}
	// 方法可变参数,可以传入任意多个参数,本质是一个变种数组, JDK 1.5及以后版本支持
	public static int sum(int ... data)
	{
		int res = 0;
		for(int k : data)
		{
			res += k;
		}
		return res;
	}
	
	// 数组拷贝参数为, 源数组, 源数组起始点, 目标数组, 目标数组起始点, 拷贝长度
	public static void arrayCopy(int a1[], int s1, int a2[], int s2, int len)
	{
		//调用系统类库数组拷贝函数
		System.arraycopy(a1, s1, a2, s2, len);
	}
	
	// 调用系统类库函数排序,一般为快速排序
	public static void systemSort(int array[])
	{
//		java.util.Arrays.sort(array);
		Arrays.sort(array);
	}
	
	// 冒泡排序, 如果不设为静态的则需要一个实例化对象才能调用, 下同
	public static void bubbleSort(int array[])
	{
		for(int i=0; i < array.length; i++)
		{
			for(int j=i+1; j < array.length; j++)
			{
				if(array[i] > array[j])
				{
					int temp = array[i];
					array[i] = array[j];
					array[j] = temp;
				}
			}
		}
	}
	// 选择排序
	public static void selectionSort(int array[])
	{
		int idx = 0;
		for(int i = 0; i < array.length - 1; i++)
		{
			idx = i;
			for(int j=i; j < array.length; j++)
			{
				if(array[j] < array[idx])
						idx = j;
			}
			int temp = array[i];
			array[i] = array[idx];
			array[idx] = temp;
		}
	}
	// 数组转置
	public static void arrayReverse(int array[])
	{
		int i = 0;
		int j = array.length - 1;
		while(i < j)
		{
			int temp = array[i];
			array[i] = array[j];
			array[j] = temp;
			i++;
			j--;
		}
	}
	
	
	// 打印输出
	public static void printArray(int array[])
	{
		for(int k : array)
		{
			System.out.print(k + " ");
		}
		System.out.println();
	}
	
	
	public int getMax() {
		return this.max;
	}
	public int getMin() {
		return this.min;
	}
	public int getSum() {
		return this.sum;
	}
	public double getAvg() {
		return this.avg;
	}
}

public class ArrayDemo {
	
	public static void main(String args[]) {
		
		Scanner in = new Scanner(System.in);
		
		int array[] = new int[] {5, 4, 3, 2, 1};
		ArrayUtil  autil = new ArrayUtil(array);
		System.out.println("max: " + autil.getMax());
		System.out.println("min: " + autil.getMin());
		System.out.println("sum: " + autil.getSum());
		System.out.println("avg: " + autil.getAvg());
		
		ArrayUtil.systemSort(array);
		ArrayUtil.bubbleSort(array);
		ArrayUtil.arrayReverse(array);
		ArrayUtil.printArray(array);
		ArrayUtil.selectionSort(array);
		ArrayUtil.printArray(array);
		
		// 方法可变参数,两种传入方法
		System.out.println(ArrayUtil.sum(new int[] {1,2,3}));
		System.out.println(ArrayUtil.sum(1, 2, 3, 4));
		
		
		in.close();
	}
}