Some array utility functions not only for lib16.
<dependency>
<groupId>com.lib16</groupId>
<artifactId>array-utils</artifactId>
<version>[1.0,2)</version>
</dependency>See also http://search.maven.org/#artifactdetails|com.lib16|array-utils|1.0|jar
Integer[] array = new Integer[] {1, 2 ,3, 4, 5, 6, 7};
Arrays.reverse(array); // 7, 6, 5, 4, 3, 2, 1Arrays.reverse(array, 2, 5); // 1, 2, 5, 4, 3, 6, 7Arrays.rotate(array, 2); // 3, 4, 5, 6, 7, 1, 2Arrays.rotate(array, -1, 1, 5); // 1, 5, 2, 3, 4, 6, 7Random random = new Random();
Arrays.shuffle(array, random); // 2, 3, 6, 1, 7, 5, 4Arrays.shuffle(array, random, 2, 6); // 1, 2, 5, 4, 6, 3, 7Arrays.swap(array, 1, 3); // 1, 4, 3, 2, 5, 6, 7Integer[] array = new Integer[] {
{1, 2 ,3},
{4, 5, 6},
{7, 8, 9}
};
Arrays2D.reverseX(array); // 3, 2, 1
// 6, 5, 4
// 9, 8, 7Arrays2D.reverseX(array, 1, 0, 3, 2); // 1, 3, 2
// 4, 6, 5
// 7, 8, 9Arrays2D.reverseY(array); // 7, 8, 9
// 4, 5, 6
// 1, 2, 3Arrays2D.reverseY(array, 1, 0, 3, 2); // 1, 5, 6
// 4, 2, 3
// 7, 8, 9Arrays2D.rotateX(array, 1); // 2, 3, 1
// 5, 6, 4
// 8, 9, 7Arrays2D.rotateX(array, 1, 0, 0, 3, 2); // 2, 3, 1
// 5, 6, 4
// 7, 8, 9Arrays2D.rotateY(array, -1); // 7, 8, 9
// 1, 2, 3
// 4, 5, 6Arrays2D.rotateY(array, 1, 0, 3, 3); // 1, 5, 6
// 4, 8, 9
// 7, 2, 3Arrays2D.shuffle(array, random); // 2, 7, 1
// 9, 5, 4
// 8, 3, 6Arrays2D.shuffle(array, random, 1, 0, 3, 2); // 1, 3, 6
// 4, 5, 2
// 7, 8, 9Arrays2D.swap(array, 1, 0, 2, 2); // 1, 9, 3
// 4, 5, 6
// 7, 8, 2