Java aligned plain-text terminal table

Java
import java.util.ArrayList;
import java.util.List;

public final class TextTable {
    public static String render(List<String[]> rows) {
        int cols = rows.stream().mapToInt(r -> r.length).max().orElse(0);
        int[] width = new int[cols];
        for (String[] row : rows) {
            for (int c = 0; c < row.length; c++) width[c] = Math.max(width[c], row[c].length());
        }
        StringBuilder sb = new StringBuilder();
        for (String[] row : rows) {
            for (int c = 0; c < row.length; c++) {
                sb.append(row[c]).append(" ".repeat(Math.max(1, width[c] - row[c].length() + 2)));
            }
            sb.append('\n');
        }
        return sb.toString();
    }
}