public <X extends Exception> void updateAll(Try.TriFunction<R, C, E, E, X> func) throws X {
        checkFrozen();

        if (rowLength() > 0 && columnLength() > 0) {
            this.init();

            final int rowLength = rowLength();
            int columnIndex = 0;
            C columnKey = null;

            for (List<E> column : _columnList) {
                columnKey = _columnKeyIndexMap.getByValue(columnIndex);

                for (int rowIndex = 0; rowIndex < rowLength; rowIndex++) {
                    column.set(rowIndex, func.apply(_rowKeyIndexMap.getByValue(rowIndex), columnKey, column.get(rowIndex)));
                }

                columnIndex++;
            }
        }
    }
public < X extends Exception > void updateAll ( Try . TriFunction < R , C , E , E , X > func ) throws X { checkFrozen ( ) ; if ( rowLength ( ) > 0 && columnLength ( ) > 0 ) { this . init ( ) ; final int rowLength = rowLength ( ) ; int columnIndex = 0 ; C columnKey = null ; for ( List < E > column : _columnList ) { columnKey = _columnKeyIndexMap . getByValue ( columnIndex ) ; for ( int rowIndex = 0 ; rowIndex < rowLength ; rowIndex ++ ) { column . set ( rowIndex , func . apply ( _rowKeyIndexMap . getByValue ( rowIndex ) , columnKey , column . get ( rowIndex ) ) ) ; } columnIndex ++ ; } } }
Update all elements based on points

@param func