Как создать таблицу умножения от 1 до 10 через stream

У меня есть два метода. Первый метод выводит таблицу умножения от 1 до 10 в один столбец, а второй в 5 столбцов. Могу ли я вместо этих циклов задействовать stream(только начал его изучать) ? Если да, то как ?

public static void multiplicationTableInOneColumn() {
    for (int i = 1; i <= 10; i++) {
        for (int j = 1; j <= 10; j++) {
            System.out.println(i + " x " + j + " = " + i * j);
        }
        System.out.println();
    }
}
public static void multiplicationTableInFiveColumn() {
    for (int i = 1; i <= 10; i++) {
        for (int j = 1; j <= 5; j++) {
            System.out.print(j + " x " + i + " = " + (i * j) + "\t");
        }
        System.out.println();
    }
    System.out.println();
    for (int i = 1; i <= 10; i ++) {
        for (int j = 6; j <= 10; j++) {
            System.out.print(j + " x " + i + " = " + (i * j) + "\t");
        }
        System.out.println();
    }
}

Ответы (1 шт):

Автор решения: Aziz Umarov

Да конечно можете Вот небольшой пример

IntStream.range(1, 11).forEach(i->{
  IntStream.range(1, 11).forEach(j->{System.out.println(i + " x " + j + " = " + i * j);});
  System.out.println();
});

И

IntStream.range(1, 11).forEach(i->{
  IntStream.range(1, 6).forEach(j->{
    System.out.print(j + " x " + i + " = " + (i * j) + "\t");
  });
  System.out.println();

  IntStream.range(6, 11).forEach(j->{
    System.out.print(j + " x " + i + " = " + (i * j) + "\t");
  });
  System.out.println();
});
→ Ссылка