Java数组删除指定元素_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java数组删除指定元素

Java数组删除指定元素

 2014/9/18 13:03:48  zhuyufufu  程序员俱乐部  我要评论(0)
  • 摘要:packagecom.zas.util;importjava.util.Arrays;publicclassArrayUtil{/***删除数组的第i个元素(从0开始)*@paramarr*@parampos*@return成功true失败false*/publicstaticBooleanarrayDeleteByPos(Object[]arr,intpos){if(arr==null||pos<0||(pos+1)>arr.length){returnfalse;}for
  • 标签:数组 Java
class="java">
package com.zas.util;

import java.util.Arrays;

public class ArrayUtil {
    
	/**
	 * 删除数组的第 i 个元素(从0开始)
	 * @param arr
	 * @param pos
	 * @return 成功  true 失败 false
	 */
	public static Boolean arrayDeleteByPos(Object[] arr, int pos) {
		if(arr == null || pos < 0 || (pos + 1) > arr.length){
			return false;
		}
		for (int j = pos; j < arr.length - 1; j++) {
			 arr[j]= arr[j + 1];  
		}
		arr[arr.length - 1] = null;
		return true;
	}
	
	/**
	 * 删除数组元素 obj (相同元素只删除一个)
	 * @param arr
	 * @param i
	 * @return 成功  true 失败 false
	 */
	public static Boolean arrayDeleteByObj(Object[] arr, Object obj) {
		if(arr == null){
			return false;
		}
		int pos = -1;
		for (int j = 0; j < arr.length; j++) {
			if(obj == null){
				if(arr[j] == null){
					pos = j;
				}
			}else{
				if(obj.equals(arr[j])){
					pos = j;
				}
			}
		}
		if(pos == -1){
			return false;
		}
		return arrayDeleteByPos(arr, pos);
	}
	
	public static void main(String[] args) {
		Object[] mks = {1, "2", 3, "4", 5, 6};
		System.out.println(Arrays.toString(mks));
		arrayDeleteByObj(mks, 4);
		System.out.println(Arrays.toString(mks));
		arrayDeleteByObj(mks, "4");
		System.out.println(Arrays.toString(mks));
		arrayDeleteByPos(mks, 2);
		System.out.println(Arrays.toString(mks));
	}
}
发表评论
用户名: 匿名