package nl.helixsoft.stats; import nl.helixsoft.recordstream.BiFunction; /** * View to access just one column of a dataframe. */ public interface Column<T> { // something about column meta-data... /** * Return the size (= number of rows) of this column */ int getSize(); /** * return the element at a certain position (=row) */ T get(int pos); /** * Set the element at a certain position (=row). Not supported by some Read-only column types. */ void set(int pos, T value); Object getHeader(); /** * Apply a function to all elements in a column */ public <R> R apply (R start, BiFunction<R, T, R> applyFunc); void setHeader(String value); }