use of cern.colt.list.IntArrayList in project tdq-studio-se by Talend.
the class AbstractIntIntMap method keys.
/**
* Returns a list filled with all keys contained in the receiver.
* The returned list has a size that equals <tt>this.size()</tt>.
* Iteration order is guaranteed to be <i>identical</i> to the order used by method {@link #forEachKey(IntProcedure)}.
* <p>
* This method can be used to iterate over the keys of the receiver.
*
* @return the keys.
*/
public IntArrayList keys() {
IntArrayList list = new IntArrayList(size());
keys(list);
return list;
}
use of cern.colt.list.IntArrayList in project tdq-studio-se by Talend.
the class DoubleMatrix1D method viewSelection.
/**
*Constructs and returns a new <i>selection view</i> that is a matrix holding the cells matching the given condition.
*Applies the condition to each cell and takes only those cells where <tt>condition.apply(get(i))</tt> yields <tt>true</tt>.
*<p>
*<b>Example:</b>
*<br>
*<pre>
*// extract and view all cells with even value
*matrix = 0 1 2 3
*matrix.viewSelection(
* new DoubleProcedure() {
* public final boolean apply(double a) { return a % 2 == 0; }
* }
*);
*-->
*matrix == 0 2
*</pre>
*For further examples, see the <a href="package-summary.html#FunctionObjects">package doc</a>.
*The returned view is backed by this matrix, so changes in the returned view are reflected in this matrix, and vice-versa.
*
*@param condition The condition to be matched.
*@return the new view.
*/
public DoubleMatrix1D viewSelection(cern.colt.function.DoubleProcedure condition) {
IntArrayList matches = new IntArrayList();
for (int i = 0; i < size; i++) {
if (condition.apply(getQuick(i)))
matches.add(i);
}
matches.trimToSize();
return viewSelection(matches.elements());
}
use of cern.colt.list.IntArrayList in project tdq-studio-se by Talend.
the class DoubleMatrix3D method viewSelection.
/**
*Constructs and returns a new <i>selection view</i> that is a matrix holding all <b>slices</b> matching the given condition.
*Applies the condition to each slice and takes only those where <tt>condition.apply(viewSlice(i))</tt> yields <tt>true</tt>.
*To match rows or columns, use a dice view.
*<p>
*<b>Example:</b>
*<br>
*<pre>
*// extract and view all slices which have an aggregate sum > 1000
*matrix.viewSelection(
* new DoubleMatrix2DProcedure() {
* public final boolean apply(DoubleMatrix2D m) { return m.zSum > 1000; }
* }
*);
*</pre>
*For further examples, see the <a href="package-summary.html#FunctionObjects">package doc</a>.
*The returned view is backed by this matrix, so changes in the returned view are reflected in this matrix, and vice-versa.
*
*@param condition The condition to be matched.
*@return the new view.
*/
public DoubleMatrix3D viewSelection(DoubleMatrix2DProcedure condition) {
IntArrayList matches = new IntArrayList();
for (int i = 0; i < slices; i++) {
if (condition.apply(viewSlice(i)))
matches.add(i);
}
matches.trimToSize();
// take all rows and columns
return viewSelection(matches.elements(), null, null);
}
use of cern.colt.list.IntArrayList in project tdq-studio-se by Talend.
the class AbstractDoubleIntMap method values.
/**
* Returns a list filled with all values contained in the receiver.
* The returned list has a size that equals <tt>this.size()</tt>.
* Iteration order is guaranteed to be <i>identical</i> to the order used by method {@link #forEachKey(DoubleProcedure)}.
* <p>
* This method can be used to iterate over the values of the receiver.
*
* @return the values.
*/
public IntArrayList values() {
IntArrayList list = new IntArrayList(size());
values(list);
return list;
}
use of cern.colt.list.IntArrayList in project tdq-studio-se by Talend.
the class AbstractIntDoubleMap method toStringByValue.
/**
* Returns a string representation of the receiver, containing
* the String representation of each key-value pair, sorted ascending by value.
*/
public String toStringByValue() {
IntArrayList theKeys = new IntArrayList();
keysSortedByValue(theKeys);
StringBuffer buf = new StringBuffer();
buf.append("[");
int maxIndex = theKeys.size() - 1;
for (int i = 0; i <= maxIndex; i++) {
int key = theKeys.get(i);
buf.append(String.valueOf(key));
buf.append("->");
buf.append(String.valueOf(get(key)));
if (i < maxIndex)
buf.append(", ");
}
buf.append("]");
return buf.toString();
}
Aggregations