Java有关数组使用工具

package 数组工具;
import java.util.Arrays;
public class Array {

	public static void main(String[] args) {
	     int a[]=new int[]{-1,20,3,13,1,0,5};
	     int max=ArrayTool.getMax(a);
	     System.out.println("数组中的最大值为:"+max);
	      int b[]=Arrays.copyOf(a,7);
	     System.out.println("对数组从小到大排序:");
	     ArrayTool.selectSort(b);
	     System.out.println("将数组转换成字符串形式:");
	    System.out.println(ArrayTool.arrayToString(a));
	 
	
	}
}
  package 数组工具;

/**
建立一个用于操作数组的工具类,其中包含着常见的对数组操作的函数如:最值,排序等 。
@author 张三
@version V1.0
*/

public class ArrayTool
{
	private ArrayTool(){}//该类中的方法都是静态的,所以该类是不需要的创建对象的。为了保证不让其他成创建该类对象
						//可以将构造函数私有化。

	/**
	获取整型数组的最大值。
	@param arr 接收一个元素为int类型的数组。
	@return 该数组的最大的元素值
	*/
	public static int getMax(int[] arr)
	{
		int maxIndex = 0;
       for(int x=1; x<arr.length; x++)
		{
			if(arr[x]>arr[maxIndex])
					maxIndex = x;//
		}

		return arr[maxIndex];
	}
	/**
	对数组进行冒泡法(选择排序)。
	@param arr 接收一个元素为int类型的数组。
	
	*/
	public static void selectSort(int[] arr)
	{
		for(int x=0; x<arr.length-1; x++)
		for(int y=0; y<arr.length-1-x; y++)
			{
				if(arr[y]>arr[y+1])
					swap(arr,y,y+1);
			}
		
		show(arr);
		System.out.println();
	}

	
	public static void show(int[] array)
	{
		for(int i=0;i<array.length;i++)
		 System.out.print(array[i]+"  ");
	}
	
	/**
	用于给数组进行元素的位置置换。
	@param arr 接收一个元素为int类型的数组。
	
	*/
	private static void swap(int[] arr,int a,int b)
	{
		int temp = arr[a];
		arr[a] = arr[b];
		arr[b] = temp;
	}
	
	/**
	获取指定的元素在指定数组中的索引.
	@param arr 接收一个元素为int类型的数组。
	@param key 要找的元素。
	@return 返回该元素第一次出现的位置,如果不存在返回-1.
	*/
	public static int getIndex(int[] arr,int key)
	{
		for(int x=0; x<arr.length; x++)
		{
			if(arr[x]==key)
				return x;
		}
		return -1;
	}

	/**
	将int数组转换成字符串。格式是:[e1,e2,...]
	@param arr 接收一个元素为int类型的数组。
	@return 返回该数组的字符串表现形式。 
	*/
	public static String arrayToString(int[] arr)
	{
		String str = "[";

		for(int x=0; x<arr.length; x++)
		{
			if(x!=arr.length-1)
				str = str + arr[x]+", ";
			else
				str = str + arr[x]+"]";
		}
		return str;
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值