Pack chunks : Array Insert Remove « Collections Data Structure « Java






Pack chunks

       
/**
 * Vosao CMS. Simple CMS for Google App Engine.
 * 
 * Copyright (C) 2009-2010 Vosao development team.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 *
 * email: vosao.dev@gmail.com
 */

//package org.vosao.utils;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ArrayUtil {

  public static List<byte[]> makeChunks(byte[] data, int chunkSize) {
    List<byte[]> result = new ArrayList<byte[]>();
    long n = data.length / chunkSize;
    int finalChunkSize = data.length % chunkSize;
    int i = 0;
    int start;
    int end;
    for (i = 0; i < n; i++) {
      start = i * chunkSize;
      end = start + chunkSize;
      result.add(Arrays.copyOfRange(data, start, end));
    }
    if (finalChunkSize > 0) {
      start = i * chunkSize;
      end = start + finalChunkSize;
      result.add(Arrays.copyOfRange(data, start, end));
    }
    return result;
  }
  
  public static byte[] packChunks(List<byte[]> data) {
    int size = 0;
    for (byte[] chunk : data) {
      size += chunk.length;
    }
    byte[] result = new byte[size];
    int start = 0;
    for (byte[] chunk : data) {
      System.arraycopy(chunk, 0, result, start, chunk.length);
      start += chunk.length;
    }
    return result;
  }
  
}

   
    
    
    
    
    
    
  








Related examples in the same category

1.Adds all the elements of the given arrays into a new boolean-value array.
2.Adds all the elements of the given arrays into a new byte-type array.
3.Adds all the elements of the given arrays into a new char-type array.
4.Adds all the elements of the given arrays into a new double-type array.
5.Adds all the elements of the given arrays into a new float-type array.
6.Adds all the elements of the given arrays into a new int-type array.
7.Adds all the elements of the given arrays into a new long-type array.
8.Adds all the elements of the given arrays into a new short-type array.
9.Copies the given array and adds the given element at the end of the new array. (char type value)
10.Copies the given array and adds the given element at the end of the new array. (float type value)
11.Copies the given array and adds the given element at the end of the new array. (long value type)
12.Copies the given array and adds the given element at the end of the new array. (object value type)
13.Copies the given array and adds the given element at the end of the new array.(boolean value type)
14.Copies the given array and adds the given element at the end of the new array.(byte value type)
15.Copies the given array and adds the given element at the end of the new array.(double type value)
16.Copies the given array and adds the given element at the end of the new array.(int value type)
17.Copies the given array and adds the given element at the end of the new array.(short type array)
18.Inserts the specified element at the specified position in the array.
19.Inserts the specified element at the specified position in the boolean-type-value array.
20.Inserts the specified element at the specified position in the byte-type-value array.
21.Inserts the specified element at the specified position in the char-type-value array.
22.Inserts the specified element at the specified position in the double-type-value array.
23.Inserts the specified element at the specified position in the float-value-type array.
24.Inserts the specified element at the specified position in the int-type-value array.
25.Inserts the specified element at the specified position in the long-type-value array.
26.Inserts the specified element at the specified position in the short-value-type array.
27.Removes the element at the specified position from the specified array.
28.Removes the element at the specified position from the specified long type array.
29.Removes the first occurrence of the specified element from the specified array.
30.Removes the first occurrence of the specified element from the specified long value array.
31.Insert value to array
32.Array Copy Utilities
33.Concatenate Java arrays
34.This program demonstrates array manipulation.
35.Appends an Object to an Object array.
36.Appends an integer to an integer array.
37.Inserts an Object into an Object array at the index position.
38.Prepends an Object to an Object array.
39.Removes an Object from an Object array.
40.Removes duplicate elements from the array
41.Creates a new subarray from a larger array.
42.Append one array to another
43.Array Expander
44.Array Util: seach, insert, append, remove, copy, shuffle
45.Add new value to exsisting array.The new value is indexed to the last.
46.Add new value, which sets as the first value, to existing array.
47.Add one array to another
48.Concatenates all the passed arrays
49.Returns a copy of the specified array of objects of the specified size.
50.Removes an element from a an array yielding a new array with that data.