java中数组的,求最值,拆入,删除。

java中数组的,求最值,拆入,删除。

/**
		 * 
		 * @param arr 数组
		 * @return 返回最大值  终止方法的作用,return之后的语句不再执行
		 */
		public static int getMaxElement(int[] arr) {
			if(arr==null) { 
				System.err.println("数组为null,返回默认值-1");
				return -1;
			}
			//max 保留最大值
			int max=arr[0];
			//求最大值
			for(int i=0;i<arr.length;i++) {
				if(max<arr[i]) {
					max=arr[i];
				}
			}
			
			return max;
		}
		/**
		 * 
		 * @param arr数组
		 * @return 最小值
		 */
		public static int getMinElement(int[] arr) {
			if(arr==null) {
				System.err.println("数组为null,返回默认值-1");
				return -1;
			}
			int min=arr[0];//默认。保留最小值
			for(int i=1;i<arr.length;i++) {
				if(min>arr[i]){
					min=arr[i];
				}
			}
			return min;
		}
		/**
		 * 
		 * @param srcArray 原数组
		 * @param pos 位置 (index)
		 * @param value 要插入的数据
		 * @return 新的数组
		 */
		public static int[] addElement(int[] srcArray,int pos,int value) {
			if(srcArray==null) {
				System.err.println("数组为null,不能添加元素");
				return null;
			}
			if(pos<0||pos>srcArray.length) {
				//越界
				System.err.println("下标越界,返回原数组");
				return srcArray;
			}
			//添加  
			int[] newArray=new int[srcArray.length+1];
			//part1
			for(int i=0;i<pos;i++) {
				newArray[i]=srcArray[i];
			}
			//part2
			newArray[pos]=value;
			//part 3
			for(int i=pos;i<srcArray.length;i++) {
				newArray[i+1]=srcArray[i];
			}
			return newArray;
		}
		/**
		 * 
		 * @param srcArray 原数组
		 * @param index 索引:删除index位置上的元素
		 * @return 新的数组
		 */
		public static int[] deleteElement(int[] srcArray,int index) {
			if(srcArray==null) {
				System.err.println("元素组为null");
				return null;
			} 
			if(index<0||index>=srcArray.length) {
				System.err.println("下标越界,返回原数组");
				return srcArray;
			}
			//删除
			int[] newArray=new int[srcArray.length-1];
			int idx=-1;
			for(int i=0;i<srcArray.length;i++) {
				if(i!=index) {
					newArray[++idx]=srcArray[i];
				}
			}
			return newArray;
		}
		/**
		 * 
		 * @param srcArray 原数组
		 * @param value  删除指定元素
		 * @return 新的数组
		 */
		public static int[] deleteElementByValue(int[] srcArray,int value) {
			if(srcArray==null) {
				System.err.println("数组不能为null");
				return null;
			}
			//统计要删除的个数
			int count=0;
			for(int i=0;i<srcArray.length;i++) {
				if(value==srcArray[i]) {
					count++;
				}
			}
			//新数组
			int[] newArray=new int[srcArray.length-count];
			//新数组的下标
			int idx=-1;
			
			for(int i=0;i<srcArray.length;i++) {
				if(value!=srcArray[i]) {
					newArray[++idx]=srcArray[i];
				}
			}
			return newArray;
		}
		/**
		 * 
		 * @param arr
		 * 遍历数组
		 */
		public static void printArray(int[] arr) {
			for (int i : arr) {
				System.out.print(i+"\t");
			}
			System.out.println();
		}
发布了42 篇原创文章 · 获赞 12 · 访问量 6123

猜你喜欢

转载自blog.csdn.net/Alingyuzi/article/details/103967738