@Override public void sortDescending() { short[] elements = values.toShortArray(); ShortArrays.parallelQuickSort(elements, reverseDictionarySortComparator); this.values = new ShortArrayList(elements); }
@Override public void sortAscending() { ShortArrays.parallelQuickSort(data.elements()); }
/** * Returns the number of elements (a.k.a. rows or cells) in the column * * @return size as int */ @Override public int size() { return values.size(); }
@Override public ShortColumn top(int n) { final ShortArrayList top = new ShortArrayList(); final short[] values = data.toShortArray(); ShortArrays.parallelQuickSort(values, descendingComparator); for (int i = 0; i < n && i < values.length; i++) { top.add(values[i]); } return new ShortColumn(name() + "[Top " + n + "]", top); }
public ShortColumn append(short i) { data.add(i); return this; }
@Override public int countUnique() { ShortSet uniqueElements = new ShortOpenHashSet(); for (int i = 0; i < size(); i++) { short val = getShort(i); if (!isMissingValue(val)) { uniqueElements.add(val); } } return uniqueElements.size(); }
@Override public int getKeyForIndex(int rowIndex) { return values.getShort(rowIndex); }
@Override public String getValueForKey(int key) { return keyToValue.get((short) key); }
public ShortColumn set(int i, short val) { data.set(i, val); return this; }
@Override public void clear() { data.clear(); }
@Override public Iterator<Short> iterator() { return data.iterator(); }
@Override public boolean hasNext() { return valuesIt.hasNext(); }
@Override public ShortColumn bottom(final int n) { final ShortArrayList bottom = new ShortArrayList(); final short[] values = data.toShortArray(); ShortArrays.parallelQuickSort(values); for (int i = 0; i < n && i < values.length; i++) { bottom.add(values[i]); } return new ShortColumn(name() + "[Bottoms " + n + "]", bottom); }
@Override public void sortAscending() { short[] elements = values.toShortArray(); ShortArrays.parallelQuickSort(elements, dictionarySortComparator); this.values = new ShortArrayList(elements); }
@Override public void sortDescending() { ShortArrays.parallelQuickSort(data.elements(), descendingComparator); }
@Override public int size() { return data.size(); }
public short getShort(int index) { return data.getShort(index); }
@Override public Iterator<String> iterator() { return new Iterator<String>() { private final ShortListIterator valuesIt = values.iterator(); @Override public boolean hasNext() { return valuesIt.hasNext(); } @Override public String next() { return getValueForKey(valuesIt.nextShort()); } }; }