mirror of
https://github.com/NoCheatPlus/NoCheatPlus.git
synced 2024-10-04 09:27:30 +02:00
Array then.
This commit is contained in:
parent
7d40df9d8c
commit
b498f993dd
@ -1,7 +1,9 @@
|
||||
package fr.neatmonster.nocheatplus.utilities;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Allow to sort by multiple criteria, first come first serve.
|
||||
@ -10,23 +12,22 @@ import java.util.Comparator;
|
||||
*/
|
||||
public class FCFSComparator <T> implements Comparator<T> {
|
||||
|
||||
private final Comparator<T>[] comparators;
|
||||
private final List<Comparator<T>> comparators;
|
||||
private final boolean reverse;
|
||||
|
||||
public FCFSComparator(Collection<Comparator<T>> comparators) {
|
||||
this(comparators, false);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public FCFSComparator(Collection<Comparator<T>> comparators, boolean reverse) {
|
||||
this.comparators = (Comparator<T>[]) comparators.toArray();
|
||||
this.comparators = new ArrayList<Comparator<T>>(comparators);
|
||||
this.reverse = reverse;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compare(T o1, T o2) {
|
||||
for (int i = 0; i < comparators.length; i++) {
|
||||
final int res = comparators[i].compare(o1, o2);
|
||||
for (int i = 0; i < comparators.size(); i++) {
|
||||
final int res = comparators.get(i).compare(o1, o2);
|
||||
if (res != 0) {
|
||||
return reverse ? -res : res;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user