Example usage for org.apache.commons.lang ArrayUtils clone

List of usage examples for org.apache.commons.lang ArrayUtils clone

Introduction

In this page you can find the example usage for org.apache.commons.lang ArrayUtils clone.

Prototype

public static boolean[] clone(boolean[] array) 

Source Link

Document

Clones an array returning a typecast result and handling null.

Usage

From source file:net.sourceforge.vulcan.shell.ShellProjectConfig.java

@Override
public BaseDto copy() {
    final ShellProjectConfig copy = (ShellProjectConfig) super.copy();

    copy.setArguments((String[]) ArrayUtils.clone(arguments));
    copy.setEnvironmentVariables((String[]) ArrayUtils.clone(environmentVariables));

    return copy;//from   w  ww  .  j  ava  2  s  .c om
}

From source file:nqueenproblem.NQueenProblem.java

/**
 * @param args the command line arguments
 *///from   w  w w .  ja v a 2s.c  o m
public static void main(String[] args) {
    // TODO code application logic here

    Random r = new Random();
    ////
    //        queenSet trya = new queenSet(4);
    //        trya.array[0] = 2;
    //        trya.array[1] = 1;
    //        trya.array[2] = 0;
    //        trya.array[3] = 3;
    //
    //        queenSet trya1 = new queenSet(4);
    //        trya1.array[0] = 2;
    //        trya1.array[1] = 3;
    //        trya1.array[2] = 0;
    //        trya1.array[3] = 1;
    //
    //        System.out.println(fitness(trya.array));
    //        System.out.println(fitness(trya1.array));
    //
    //        queenSet a = new queenSet(4);
    //        queenSet b = new queenSet(4);

    //        a.array = ArrayUtils.clone(trya.array);
    //        b.array = ArrayUtils.clone(trya1.array);
    //        
    //        
    //        int k = 0 ;
    //        for (int i = a.array.length / 2; i < a.array.length || k < a.array.length/2; i++) {
    //            if (i == a.array.length) {
    //                i = 0;
    //            }
    //            boolean temp = true;
    //            for (int j = 0; j < b.array.length / 2; j++) {
    //                if (a.array[i] == b.array[j]) {
    //                    temp = false;
    //                             break;
    //
    //                }
    //
    //            }
    //            if(temp)
    //                b.array[k++] = a.array[i];
    //
    //        }
    //        
    //        k = 0 ;
    //        for (int i = b.array.length / 2; i < b.array.length || k < b.array.length/2; i++) {
    //            if (i == b.array.length) {
    //                i = 0;
    //            }
    //            boolean temp = true;
    //            for (int j = 0; j < a.array.length / 2; j++) {
    //                if (b.array[i] == a.array[j]) {
    //                    temp = false;
    //                             break;
    //
    //                }
    //
    //            }
    //            if(temp)
    //                a.array[k++] = b.array[i];
    //
    //        }
    //        for (int j = 0, k = 4 / 2; j < 4 / 2 && k < 4; j++, k++) {
    //            a.array[k] = getDiff(trya1.array, trya.array, k);
    //            b.array[j] = getDiff(trya.array, trya1.array, k);
    //            
    //            System.out.println("--------!!!!!!!!"); 
    //            
    //        System.out.println(Arrays.toString(trya.array));
    //        System.out.println(Arrays.toString(trya1.array));
    //        }
    //        System.out.println(Arrays.toString(a.array));
    //        System.out.println(Arrays.toString(b.array));
    int n = 4;
    //
    int initPopCount = 4;
    ////
    //        ArrayList<queenSet> qu = new ArrayList<>();
    ////        queenSet[] qu = new queenSet[1000];
    //        while (true) {
    ////            for (int k = 0; k < 20; k++) {
    //
    //                qu.add(new queenSet(n));
    //
    //                for (int j = 0; j < qu.get(i).array.length; j++) {
    //                    int rand = r.nextInt(qu.get(i).array.length);
    //                    qu.get(i).array[j] = rand;
    //                }
    ////                System.out.println(Arrays.toString(qu.get(i).array));
    //                qu.get(i).fx = fitness(qu.get(i).array);
    ////                System.out.println(qu.get(i).fx);
    ////            }
    //
    //            if (qu.get(i).fx == qu.get(i).array.length) {
    //                System.out.println(Arrays.toString(qu.get(i).array));
    //                System.out.println(qu.get(i).fx);
    //                System.out.println(i);
    //                break;
    //            }
    //            i++;
    //
    //        }

    int initChildCount = 2;
    double mutationProb = 0.6;
    queenSet[] result = new queenSet[initPopCount];
    //
    ArrayList arr = new ArrayList();
    //
    queenSet[] initPop = new queenSet[initPopCount];
    queenSet[] childPop = new queenSet[initChildCount];
    //
    //        for (int j = 0; j < childPop.length; j++) {
    //            childPop[j] = new queenSet(n);
    //        }
    //
    for (int o = 0; o < initPopCount; o++) {
        initPop[o] = new queenSet(n);
        for (int j = 0; j < initPop[o].array.length; j++) {
            initPop[o].array[j] = genrateDiffRand(initPop[o].array, n, j);
        }

        System.out.println(Arrays.toString(initPop[o].array));
        initPop[o].fx = fitness(initPop[o].array);
        System.out.println(initPop[o].fx);
    }
    //        int index = 0;
    ////        while (true) {
    for (int g = 0; g < 10; g++) {

        queenSet[] selectedParents = new queenSet[2];

        selectedParents[0] = initPop[r.nextInt(initPop.length)];
        selectedParents[1] = initPop[r.nextInt(initPop.length)];
        System.out.println(Arrays.toString(selectedParents[0].array));
        System.out.println(Arrays.toString(selectedParents[1].array));

        for (int m = 0; m < initChildCount; m += 2) {

            childPop[m] = selectedParents[0];
            childPop[m + 1] = selectedParents[1];

            queenSet a = new queenSet(4);
            queenSet b = new queenSet(4);
            //                System.out.println(childPop[m]);
            a.array = ArrayUtils.clone(childPop[m].array);
            b.array = ArrayUtils.clone(childPop[m + 1].array);

            int k = 0;
            for (int i = a.array.length / 2; i < a.array.length || k < a.array.length / 2; i++) {
                if (i == a.array.length) {
                    i = 0;
                }
                boolean temp = true;
                for (int j = 0; j < b.array.length / 2; j++) {
                    if (a.array[i] == b.array[j]) {
                        temp = false;
                        break;

                    }

                }
                if (temp) {
                    b.array[k++] = a.array[i];
                }

                System.out.println(i + "       " + k);

            }

            k = 0;
            for (int i = b.array.length / 2; i < b.array.length && k < b.array.length / 2; i++) {
                if (i == b.array.length) {
                    i = 0;
                }
                boolean temp = true;
                for (int j = 0; j < a.array.length; j++) {
                    if (b.array[i] == a.array[j]) {
                        temp = false;
                        break;

                    }

                    if (j == a.array.length) {
                        k++;
                    }

                }
                if (temp) {
                    a.array[k++] = b.array[i];
                }
                System.out.println("b");
            }

            childPop[m].array = ArrayUtils.clone(a.array);
            childPop[m + 1].array = ArrayUtils.clone(b.array);

            childPop[m].fx = fitness(childPop[m].array);
            childPop[m + 1].fx = fitness(childPop[m + 1].array);

            System.out.println(Arrays.toString(childPop[m].array));
            System.out.println(Arrays.toString(childPop[m + 1].array));

        }

        System.out.println("Loop se bahar ");
        queenSet[] tempArray = (queenSet[]) ArrayUtils.addAll(initPop, childPop);

        for (int j = 0; j < tempArray.length - 1; j++) {
            for (int k = 0; k < tempArray.length - j - 1; k++) {
                if (tempArray[k].fx < tempArray[k + 1].fx) {
                    queenSet temp = tempArray[k];
                    tempArray[k] = tempArray[k + 1];
                    tempArray[k + 1] = temp;
                }
            }
        }

        System.out.println("---Sorteddddd-\n\n");
        for (int j = 0; j < tempArray.length; j++) {
            System.out.println(Arrays.toString(tempArray[j].array));
            System.out.println(tempArray[j].fx);
        }
        System.out.println("---");

        initPop = Arrays.copyOfRange(tempArray, 0, initPopCount);

        arr.add(initPop[0].fx);

        result = initPop;
        if (result[0].fx == 4) {
            break;
        }
    }

    System.out.println(Arrays.toString(result[0].array));
    System.out.println(result[0].fx);
}

From source file:org.apache.cassandra.db.clock.IncrementCounterContextTest.java

@Test
public void testDiff() {
    byte[] left = new byte[HEADER_LENGTH + (3 * stepLength)];
    byte[] right;

    // equality: equal nodes, all counts same
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);
    right = ArrayUtils.clone(left);

    assert ClockRelationship.EQUAL == icc.diff(left, right);

    // greater than: left has superset of nodes (counts equal)
    left = new byte[HEADER_LENGTH + (4 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);
    icc.writeElementAtStepOffset(left, 3, FBUtilities.toByteArray(12), 0L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 1L);

    assert ClockRelationship.GREATER_THAN == icc.diff(left, right);

    // less than: left has subset of nodes (counts equal)
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);

    right = new byte[HEADER_LENGTH + (4 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 1L);
    icc.writeElementAtStepOffset(right, 3, FBUtilities.toByteArray(12), 0L);

    assert ClockRelationship.LESS_THAN == icc.diff(left, right);

    // greater than: equal nodes, but left has higher counts
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 3L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 1L);

    assert ClockRelationship.GREATER_THAN == icc.diff(left, right);

    // less than: equal nodes, but right has higher counts
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 3L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 3L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 9L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 3L);

    assert ClockRelationship.LESS_THAN == icc.diff(left, right);

    // disjoint: right and left have disjoint node sets
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 1L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(4), 1L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 1L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 1L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 1L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 1L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(4), 1L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(2), 1L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 1L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(12), 1L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    // disjoint: equal nodes, but right and left have higher counts in differing nodes
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 1L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 1L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 1L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 5L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 2L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 1L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 9L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 5L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    // disjoint: left has more nodes, but lower counts
    left = new byte[HEADER_LENGTH + (4 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 2L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 1L);
    icc.writeElementAtStepOffset(left, 3, FBUtilities.toByteArray(12), 1L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 4L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 9L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 5L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    // disjoint: left has less nodes, but higher counts
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 5L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 2L);

    right = new byte[HEADER_LENGTH + (4 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 4L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 2L);
    icc.writeElementAtStepOffset(right, 3, FBUtilities.toByteArray(12), 1L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    // disjoint: mixed nodes and counts
    left = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 5L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(9), 2L);

    right = new byte[HEADER_LENGTH + (4 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 4L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 2L);
    icc.writeElementAtStepOffset(right, 3, FBUtilities.toByteArray(12), 1L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);

    left = new byte[HEADER_LENGTH + (4 * stepLength)];
    icc.writeElementAtStepOffset(left, 0, FBUtilities.toByteArray(3), 5L);
    icc.writeElementAtStepOffset(left, 1, FBUtilities.toByteArray(6), 2L);
    icc.writeElementAtStepOffset(left, 2, FBUtilities.toByteArray(7), 2L);
    icc.writeElementAtStepOffset(left, 3, FBUtilities.toByteArray(9), 2L);

    right = new byte[HEADER_LENGTH + (3 * stepLength)];
    icc.writeElementAtStepOffset(right, 0, FBUtilities.toByteArray(3), 4L);
    icc.writeElementAtStepOffset(right, 1, FBUtilities.toByteArray(6), 3L);
    icc.writeElementAtStepOffset(right, 2, FBUtilities.toByteArray(9), 2L);

    assert ClockRelationship.DISJOINT == icc.diff(left, right);
}

From source file:org.apache.hadoop.hdfs.util.EnumCounters.java

/** @return the values of counter as a shadow copy of array*/
public long[] asArray() {
    return ArrayUtils.clone(counters);
}

From source file:org.apache.openjpa.azure.beans.PersonBIN_PK.java

public byte[] getCode() {
    return ArrayUtils.clone(code);
}

From source file:org.apache.openjpa.azure.beans.PersonBIN_PK.java

public void setCode(byte[] code) {
    this.code = ArrayUtils.clone(code);
}

From source file:org.debux.webmotion.server.handler.ParametersExtractorHandler.java

protected static ParameterTree toTree(Map<String, Object> parameters) {
    ParameterTree tree = new ParameterTree();

    for (Map.Entry<String, Object> entry : parameters.entrySet()) {
        String paramName = entry.getKey();
        Object paramValue = entry.getValue();

        ParameterTree current = tree;//ww w.  j a  v  a  2 s. c  o  m

        Matcher matcher = pattern.matcher(paramName);
        while (matcher.find()) {
            String name = matcher.group(1);
            String index = matcher.group(3);

            ParameterTree next;

            if (index == null) {
                Map<String, ParameterTree> object = current.getObject();
                if (object == null) {
                    object = new HashMap<String, ParameterTree>();
                    current.setObject(object);
                }

                next = object.get(name);
                if (next == null) {
                    next = new ParameterTree();
                    object.put(name, next);
                }

            } else {
                Map<String, List<ParameterTree>> array = current.getArray();
                if (array == null) {
                    array = new HashMap<String, List<ParameterTree>>();
                    current.setArray(array);
                }

                List<ParameterTree> list = array.get(name);
                if (list == null) {
                    list = new ArrayList<ParameterTree>();
                    array.put(name, list);

                }

                int position = new Integer(index);

                if (position >= 0 && position < list.size()) {

                    next = list.get(position);
                    if (next == null) {
                        next = new ParameterTree();
                        list.set(position, next);
                    }

                } else {
                    int fill = position - list.size();
                    for (int i = 0; i < fill; i++) {
                        list.add(null);
                    }
                    next = new ParameterTree();
                    list.add(next);
                }
            }
            current = next;
        }

        if (paramValue != null) {
            if (paramValue.getClass().isArray()) {
                Object[] currentValues = (Object[]) current.getValue();

                if (currentValues == null) {
                    current.setValue(ArrayUtils.clone((Object[]) paramValue));
                } else {
                    current.setValue(ArrayUtils.addAll(currentValues, (Object[]) paramValue));
                }
            } else {
                current.setValue(paramValue);
            }
        }
    }

    return tree;
}

From source file:org.diffkit.db.DKDBTable.java

public DKDBTable(String catalog_, String schema_, String tableName_, DKDBColumn[] columns_,
        DKDBPrimaryKey primaryKey_) {//from w  ww. ja v a 2  s  .  com
    _catalog = catalog_;
    _schema = schema_;
    _tableName = tableName_;
    _columns = (DKDBColumn[]) ArrayUtils.clone(columns_);
    Arrays.sort(_columns);
    _primaryKey = primaryKey_;
    DKValidate.notNull(_tableName);
    this.validatePrimaryKey(_primaryKey, _columns);
    this.ensureRelationships(_columns);
}

From source file:org.diffkit.diff.diffor.DKChainDiffor.java

public DKChainDiffor(DKDiffor... diffors_) {
    _diffors = (DKDiffor[]) ArrayUtils.clone(diffors_);
    DKValidate.notNull((Object) _diffors);
}

From source file:org.displaytag.exception.MissingAttributeException.java

/**
 * Constructor for MissingAttributeException.
 * @param source Class where the exception is generated
 * @param attributeNames String attribute name
 *//*www  .  j  av  a 2s .co  m*/
public MissingAttributeException(Class source, String[] attributeNames) {
    super(source, Messages.getString("MissingAttributeException.msg", //$NON-NLS-1$
            new Object[] { ArrayUtils.toString(attributeNames) }));

    // copy attributes to allow them to be retrieved using getAttributeNames()
    this.attributes = (String[]) ArrayUtils.clone(attributeNames);
}