Created
November 15, 2018 21:37
-
-
Save Shtaba09/c2bca78e3bfee994c0307349c8fdbca2 to your computer and use it in GitHub Desktop.
Использование потока компараторов и свой компаратор
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.javarush.task.task26.task2603; | |
import java.util.Arrays; | |
import java.util.Comparator; | |
/* | |
Убежденному убеждать других не трудно | |
*/ | |
public class Solution { | |
public static void main(String[] args) { | |
} | |
public static class CustomizedComparator<T> implements Comparator<T> { | |
private Comparator<T>[]comparators; | |
public CustomizedComparator(Comparator<T>... comparators){ | |
this.comparators=comparators; | |
} | |
@Override | |
public int compare(T t1, T t2) { | |
return Arrays.stream(comparators) | |
.reduce((ttt1,ttt2)->0,Comparator::thenComparing) | |
.compare(t1,t2); | |
} | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
taskKey="com.javarush.task.task26.task2603" | |
Убежденному убеждать других не трудно | |
В таблице есть колонки, по которым можно сортировать. | |
Пользователь имеет возможность настроить под себя список колонок, которые будут сортироваться. | |
Напиши public static компаратор CustomizedComparator, который будет: | |
1. в конструкторе принимать массив компараторов. | |
2. сортировать данные в порядке, соответствующем последовательности компараторов. | |
Все переданные компараторы сортируют дженерик тип Т. | |
В конструктор передается как минимум один компаратор. | |
Требования: | |
1. Класс Solution должен содержать public static компаратор CustomizedComparator. | |
2. Класс CustomizedComparator должен содержать приватное поле comparators типа Comparator<T>[]. | |
3. Класс CustomizedComparator должен содержать конструктор с параметром vararg компараторов. | |
4. Метод compare() класса CustomizedComparator должен сравнивать объекты в порядке, соответствующем последовательности компараторов comparators. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment