blob: 2843ac934fbfebbe381387463da48b90a3de97ab [file] [log] [blame]
package com.siyeh.igtest.performance.manual_array_copy;
public class ManualArrayCopy
{
public void fooBar()
{
final int[] q = new int[3];
final int[] a = new int[3];
for(int i = 0; i < a.length; i++)
q[i] = a[i];
for(int i = 0; i < a.length; i++)
q[i+3] = a[i+4];
for(int i = 0; i < a.length; i++)
{
q[i] = a[i];
}
for(int i = 0; i < a.length; i++)
{
q[i+3] = a[i];
}
for(int i = 1; i < a.length; i++)
{
q[2+i] = a[i-1];
}
for(int i = 1; i < a.length; i++)
// not a legal array copy
q[2-i] = a[i-1];
}
void barFoo() {
int added_index = 3;
int[] array = new int[10];
int[] new_array = new int[14];
for (int i=0;i<array.length;i++) array[i] = i;
for (int i = 0; i < array.length; i++)
{
new_array[added_index + i] = array[i];
}
System.out.print("Old Array: ");
for (int i : array) System.out.print(i+" ");
System.out.println();
System.out.print("New Array: ");
for (int i : new_array) System.out.print(i+" ");
System.out.println();
}
static void foobarred(int[] a, int[] b) {
int x = 3;
for(int i = x ; i < a.length; i++) {
b[i - x] = a[i];
}
}
void boom() {
byte image[] = new byte[10];
int data[] = new int[10];
for (int k = 0; k < 5; ++k) { // breaks if converted to System.arraycopy()
image[k] = (byte)data[k];
}
}
void boomboom() {
Object target[] = new Object[10];
String source[] = new String[10];
for (int k = 0; k < 5; k++) { // can be converted to System.arraycopy()
target[k] = source[k];
}
}
static Integer[] nono(int[] ints) {
Integer[] array = new Integer[ints.length];
for ( int i = 0; i < ints.length; i++ ) {
array[i] = ints[i];
}
return array;
}
void ButItIsWrong(int sp, int kp, int[][] varcov, int[] eval) {
for (int i = 0; i < sp; i++)
varcov[i][i] = eval[i + kp];
}
void isntThatCute() {
String[] data = new String[100];
int index = 10;
for (int i = data.length - 1; i >= 0; i--)
{
data[i] = data[i - 1];
}
}
}