https://hal.archives-ouvertes.fr/hal-02404862
Tip revision: 759bd8995e51c4e40aa72fd5657d5e6e04c6da89 authored by Software Heritage on 04 February 2020, 13:44:27 UTC
hal: Deposit 405 in collection hal
hal: Deposit 405 in collection hal
Tip revision: 759bd89
MapStringArraySizeComparator.java
package comparators;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
public class MapStringArraySizeComparator implements Comparator<Object> {
Map<String, TreeSet<Integer>> base;
public MapStringArraySizeComparator(Map<String, TreeSet<Integer>> base) {
this.base = base;
}
@Override
public int compare(Object a, Object b) {
int numPagesSizeA = base.get(a).size();
int numPagesSizeB = base.get(b).size();
if (numPagesSizeA == numPagesSizeB && numPagesSizeA == 1) {
int numPageA = base.get(a).first();
int numPageB = base.get(b).first();
if (numPageA < numPageB)
return 1;
else
return -1;
} else if (numPagesSizeA < numPagesSizeB || numPagesSizeA == numPagesSizeB)
return 1;
else
return -1;
}
}