Java tutorial
//package com.java2s; /* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.lang.reflect.Array; public class Main { @SuppressWarnings("unchecked") public static final <T> T[] remove(T[] array, T obj) { int index = indexOf(array, obj); if (index < 0) { return array; } T[] newArray = (T[]) Array.newInstance(array.getClass().getComponentType(), array.length - 1); if (index > 0) { System.arraycopy(array, 0, newArray, 0, index); } if (index < array.length - 1) { System.arraycopy(array, index + 1, newArray, index, newArray.length - index); } return newArray; } public static final <T> int indexOf(T[] array, T obj) { if (array != null) { for (int i = 0; i < array.length; ++i) { Object o = array[i]; if (o != null) { if (o.equals(obj)) { return i; } } else if (obj == null) { return i; } } } return -1; } public static final int indexOf(char[] array, char ch) { if (array != null) { for (int i = 0; i < array.length; ++i) { char c = array[i]; if (ch == c) { return i; } } } return -1; } }