Java Array Shift shiftOffsets(int[] offsets, int changeOffset, int oldLength, int newLength)

Here you can find the source of shiftOffsets(int[] offsets, int changeOffset, int oldLength, int newLength)

Description

shift Offsets

License

Apache License

Declaration

private static void shiftOffsets(int[] offsets, int changeOffset,
            int oldLength, int newLength) 

Method Source Code

//package com.java2s;
/*//  w  w w . j a  v  a  2s.  co  m
 * Copyright 2000-2012 JetBrains s.r.o.
 *
 * 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.
 */

public class Main {
    private static void shiftOffsets(int[] offsets, int changeOffset,
            int oldLength, int newLength) {
        if (offsets == null)
            return;
        int shift = newLength - oldLength;
        if (shift == 0)
            return;
        for (int i = 0; i < offsets.length; i++) {
            int offset = offsets[i];
            if (offset >= changeOffset + oldLength) {
                offsets[i] += shift;
            }
        }
    }
}

Related

  1. shiftLeftByOne(int[] table)
  2. shiftLeftI(long[] v, int off)
  3. ShiftLeftOne(int[] arr)
  4. shiftNibbles(byte[] bytes)
  5. shiftOff(T[] a)
  6. shiftOnRow(double[][] d, int q)
  7. shiftRight(byte[] block)
  8. shiftRight(byte[] x)
  9. shiftRight(int[] result, int[] vec, int shift)