Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * Copyright 2002-2013 the original author or authors.
  * 
  * 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.
 */
package org.springframework.data.gemfire.util;

Author(s):
David Turanski
 
 
public abstract class ArrayUtils {

  
Insert an element into an array. The element is inserted at the given position, all elements afterwards are moved to the right.

Parameters:
originalArray array to insert into
pos position at which to insert the element
element element to add
Returns:
the new array
  public static Object[] insert(Object[] originalArrayint posObject element) {
    Object[] newArray = (Object[]) java.lang.reflect.Array.newInstance(
      originalArray.getClass().getComponentType(), originalArray.length + 1);
    
    // copy everything before the given position
    if (pos > 0) {
      System.arraycopy(originalArray, 0, newArray, 0, pos); // does not copy originalArray[pos], where we insert
    }
    // insert
    newArray[pos] = element;
    // copy remaining elements
    if (pos < originalArray.length) {
      System.arraycopy(originalArraypos// originalArray[pos] first element copied
          newArraypos + 1, // newArray[pos + 1] first destination
          originalArray.length - pos); // number of elements left
    }
   
    return newArray;
  }

  
Remove element from an array. The element is removed at the specified position, and all remaining elements are moved to the left.

Parameters:
originalArray array to remove from
pos position to remove
Returns:
the new array
  public static Object[] remove(Object[] originalArrayint pos) {
    Object[] newArray = (Object[])java.lang.reflect.Array.newInstance(
      originalArray.getClass().getComponentType(), originalArray.length - 1);
    
    // Copy everything before
    if (pos > 0) {
      System.arraycopy(originalArray, 0, newArray, 0, pos); // originalArray[pos - 1] is last element copied
    }
  
    // Copy everything after
    if (pos < originalArray.length - 1) {
      System.arraycopy(originalArraypos + 1, // originalArray[pos + 1] is first element copied
          newArraypos// first position to copy into
          originalArray.length - 1 - pos);
    }
   
    return newArray;
  }
  
New to GrepCode? Check out our FAQ X