Как отсортировать строки с условием, используя потоковый API

Вы можете использовать linear-gradient. Предположим, что у родителя div было фоновое изображение, и вам понадобилось div, чтобы сидеть поверх этого с серым фоном и ушастым левым углом. Вы можете сделать что-то вроде этого:

.parent-div { background: url('/image.jpg'); }
.child-div { 
   background: #333;
   background: linear-gradient(135deg, transparent 30px, #333 0);
}

См. Его в CodePen

Дальнейшее чтение:

3
задан Mefisto_Fell 20 January 2019 в 17:51
поделиться

3 ответа

Добавьте thenComparing() в цепочку компараторов, чтобы создать вторичный порядок сортировки. Он будет применяться, когда первичной сортировки недостаточно:

phones.stream()
      .sorted(Comparator.comparingInt(String::length).reversed()
                        .thenComparing(Function.identity()))
      .forEach(System.out::println);
0
ответ дан Karol Dowbecki 20 January 2019 в 17:51
поделиться

Comparator.comparingInt(String::length).reversed().thenComparing(Comparator.<String>naturalOrder())

0
ответ дан Marco 20 January 2019 в 17:51
поделиться
phones.stream()
      .sorted((a,b) -> b.length()-a.length() == 0? a.compareTo(b) : b.length()-a.length())
      .forEach(System.out::println);
0
ответ дан GBlodgett 20 January 2019 в 17:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: