Java 类java.util.Comparator 实例源码
项目:couchmove
文件:FileUtils.java
/**
* If the file is a Directory, calculate the checksum of all files in this directory (one level)
* Else, calculate the checksum of the file matching extensions
*
* @param filePath file or folder
* @param extensions of files to calculate checksum of
* @return checksum
*/
public static String calculateChecksum(@NotNull Path filePath, String... extensions) {
if (filePath == null || !Files.exists(filePath)) {
throw new CouchmoveException("File is null or doesn't exists");
}
if (Files.isDirectory(filePath)) {
return directoryStream(filePath, extensions)
.sorted(Comparator.comparing(path -> path.getFileName().toString()))
.map(FileUtils::calculateChecksum)
.reduce(String::concat)
.map(DigestUtils::sha256Hex)
.orElse(null);
}
try {
return DigestUtils.sha256Hex(toByteArray(filePath.toUri()));
} catch (IOException e) {
throw new CouchmoveException("Unable to calculate file checksum '" + filePath.getFileName().toString() + "'");
}
}
项目:guava-mock
文件:ImmutableSortedSet.java
/**
* Returns an immutable sorted set containing the given elements sorted by
* the given {@code Comparator}. When multiple elements are equivalent
* according to {@code compare()}, only the first one specified is
* included. This method iterates over {@code elements} at most once.
*
* <p>Despite the method name, this method attempts to avoid actually copying
* the data when it is safe to do so. The exact circumstances under which a
* copy will or will not be performed are undocumented and subject to change.
*
* @throws NullPointerException if {@code comparator} or any of {@code
* elements} is null
*/
public static <E> ImmutableSortedSet<E> copyOf(
Comparator<? super E> comparator, Iterable<? extends E> elements) {
checkNotNull(comparator);
boolean hasSameComparator = SortedIterables.hasSameComparator(comparator, elements);
if (hasSameComparator && (elements instanceof ImmutableSortedSet)) {
@SuppressWarnings("unchecked")
ImmutableSortedSet<E> original = (ImmutableSortedSet<E>) elements;
if (!original.isPartialView()) {
return original;
}
}
@SuppressWarnings("unchecked") // elements only contains E's; it's safe.
E[] array = (E[]) Iterables.toArray(elements);
return construct(comparator, array.length, array);
}
项目:jetfuel
文件:SortNode.java
public final Comparator<Object[]> createObjectArrayComparator() {
return new Comparator<Object[]>() {
final int ordinal = column.getColumnIndex();
@SuppressWarnings({ "rawtypes", "unchecked" })
public int compare(Object[] left, Object[] right) {
int ascSort = 0;
Object a = left[ordinal];
Object b = right[ordinal];
if (a == null)
ascSort = (b == null)
? 0
: 1;
else if (b == null)
ascSort = -1;
else
ascSort = ((Comparable) a).compareTo(b);
return direction == SortDirection.ASC
? ascSort
: -ascSort;
}
};
}
项目:googles-monorepo-demo
文件:UnsignedBytesTest.java
@SuppressWarnings("unchecked")
public void testLexicographicalComparatorLongInputs() {
for (Comparator<byte[]> comparator : Arrays.asList(
UnsignedBytes.lexicographicalComparator(),
UnsignedBytes.lexicographicalComparatorJavaImpl())) {
for (int i = 0; i < 32; i++) {
byte[] left = new byte[32];
byte[] right = new byte[32];
assertTrue(comparator.compare(left, right) == 0);
left[i] = 1;
assertTrue(comparator.compare(left, right) > 0);
assertTrue(comparator.compare(right, left) < 0);
}
}
}
项目:googles-monorepo-demo
文件:TreeMultisetTest.java
public void testCustomComparator() throws Exception {
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o2.compareTo(o1);
}
};
TreeMultiset<String> ms = TreeMultiset.create(comparator);
ms.add("b");
ms.add("c");
ms.add("a");
ms.add("b");
ms.add("d");
assertThat(ms).containsExactly("d", "c", "b", "b", "a").inOrder();
SortedSet<String> elementSet = ms.elementSet();
assertEquals("d", elementSet.first());
assertEquals("a", elementSet.last());
assertEquals(comparator, elementSet.comparator());
}
项目:CustomWorldGen
文件:PersistentRegistryManager.java
public static void fireRegistryEvents()
{
List<ResourceLocation> registryKeys = Lists.newArrayList(PersistentRegistry.ACTIVE.registries.keySet());
Collections.sort(registryKeys, new Comparator<ResourceLocation>()
{
@Override
public int compare(ResourceLocation o1, ResourceLocation o2)
{
return o1.toString().compareToIgnoreCase(o2.toString());
}
});
fireRegistryEvent(PersistentRegistry.ACTIVE.registries, BLOCKS);
ObjectHolderRegistry.INSTANCE.applyObjectHolders(); // inject any blocks
fireRegistryEvent(PersistentRegistry.ACTIVE.registries, ITEMS);
ObjectHolderRegistry.INSTANCE.applyObjectHolders(); // inject any items
for (ResourceLocation rl : registryKeys) {
if (rl == BLOCKS || rl == ITEMS) continue;
fireRegistryEvent(PersistentRegistry.ACTIVE.registries, rl);
}
ObjectHolderRegistry.INSTANCE.applyObjectHolders(); // inject everything else
}
项目:r8
文件:MinifiedNameMapPrinter.java
private void write(DexProgramClass clazz, PrintStream out) {
seenTypes.add(clazz.type);
DexString descriptor = namingLens.lookupDescriptor(clazz.type);
out.print(DescriptorUtils.descriptorToJavaType(clazz.type.descriptor.toSourceString()));
out.print(" -> ");
out.print(DescriptorUtils.descriptorToJavaType(descriptor.toSourceString()));
out.println(":");
write(sortedCopy(
clazz.instanceFields(), Comparator.comparing(DexEncodedField::toSourceString)), out);
write(sortedCopy(
clazz.staticFields(), Comparator.comparing(DexEncodedField::toSourceString)), out);
write(sortedCopy(
clazz.directMethods(), Comparator.comparing(DexEncodedMethod::toSourceString)), out);
write(sortedCopy(
clazz.virtualMethods(), Comparator.comparing(DexEncodedMethod::toSourceString)), out);
}
项目:azure-libraries-for-java
文件:CosmosDBAccountImpl.java
private void ensureFailoverIsInitialized() {
if (this.isInCreateMode()) {
return;
}
if (!this.hasFailoverPolicyChanges) {
this.failoverPolicies.clear();
FailoverPolicyInner[] policyInners = new FailoverPolicyInner[this.inner().failoverPolicies().size()];
this.inner().failoverPolicies().toArray(policyInners);
Arrays.sort(policyInners, new Comparator<FailoverPolicyInner>() {
@Override
public int compare(FailoverPolicyInner o1, FailoverPolicyInner o2) {
return o1.failoverPriority().compareTo(o2.failoverPriority());
}
});
for (int i = 0; i < policyInners.length; i++) {
this.failoverPolicies.add(policyInners[i]);
}
this.hasFailoverPolicyChanges = true;
}
}
项目:openjdk-jdk10
文件:DefaultMXBeanMappingFactory.java
@Override
final Object toNonNullOpenValue(Object value)
throws OpenDataException {
final Collection<?> valueCollection = (Collection<?>) value;
if (valueCollection instanceof SortedSet<?>) {
Comparator<?> comparator =
((SortedSet<?>) valueCollection).comparator();
if (comparator != null) {
final String msg =
"Cannot convert SortedSet with non-null comparator: " +
comparator;
throw openDataException(msg, new IllegalArgumentException(msg));
}
}
final Object[] openArray = (Object[])
Array.newInstance(getOpenClass().getComponentType(),
valueCollection.size());
int i = 0;
for (Object o : valueCollection)
openArray[i++] = elementMapping.toOpenValue(o);
return openArray;
}
项目:googles-monorepo-demo
文件:ImmutableSortedSet.java
private static <E> ImmutableSortedSet<E> copyOfInternal(
Comparator<? super E> comparator, Iterable<? extends E> elements,
boolean fromSortedSet) {
checkNotNull(comparator);
boolean hasSameComparator
= fromSortedSet || hasSameComparator(elements, comparator);
if (hasSameComparator && (elements instanceof ImmutableSortedSet)) {
@SuppressWarnings("unchecked")
ImmutableSortedSet<E> result = (ImmutableSortedSet<E>) elements;
boolean isSubset = (result instanceof RegularImmutableSortedSet)
&& ((RegularImmutableSortedSet) result).isSubset;
if (!isSubset) {
// Only return the original copy if this immutable sorted set isn't
// a subset of another, to avoid memory leak.
return result;
}
}
return copyOfInternal(comparator, elements.iterator());
}
项目:Catter2
文件:FavoritesActivity.java
private void updateFavorites(SharedPreferences pref) {
String prefKey = String.format(SP_USER_FAVORITES_KEY, userToken);
Log.d(TAG, "PrefKey: " + prefKey);
Set<String> entriesSet = pref.getStringSet(prefKey, new HashSet<String>());
ArrayList<FavoriteModel> favorites = new ArrayList<>(entriesSet.size());
for (String entry : entriesSet) {
String[] decoded = entry.split(";");
favorites.add(new FavoriteModel(Long.valueOf(decoded[1]), decoded[0]));
}
Collections.sort(favorites, new Comparator<FavoriteModel>() {
@Override
public int compare(FavoriteModel o1, FavoriteModel o2) {
return (int) (o2.getTimeAdded() - o1.getTimeAdded());
}
});
ArrayList<String> urlsSorted = new ArrayList<>(favorites.size());
for (FavoriteModel favorite : favorites) {
urlsSorted.add(favorite.getUrl());
}
Log.d(TAG, "Updated favorites: " + urlsSorted.toString());
rvAdapter.updateImageUrls(new ArrayList<>(urlsSorted));
}
项目:mycat-src-1.6.1-RELEASE
文件:TimSort.java
/**
* Creates a TimSort instance to maintain the state of an ongoing sort.
*
* @param a the array to be sorted
* @param c the comparator to determine the order of the sort
*/
private SortState(Buffer a, Comparator<? super K> c, int len) {
this.aLength = len;
this.a = a;
this.c = c;
// Allocate temp storage (which may be increased later if necessary)
tmpLength = len < 2 * INITIAL_TMP_STORAGE_LENGTH ? len >>> 1 : INITIAL_TMP_STORAGE_LENGTH;
tmp = s.allocate(tmpLength);
/*
* Allocate runs-to-be-merged stack (which cannot be expanded). The
* stack length requirements are described in listsort.txt. The C
* version always uses the same stack length (85), but this was
* measured to be too expensive when sorting "mid-sized" arrays (e.g.,
* 100 elements) in Java. Therefore, we use smaller (but sufficiently
* large) stack lengths for smaller arrays. The "magic numbers" in the
* computation below must be changed if MIN_MERGE is decreased. See
* the MIN_MERGE declaration above for more information.
*/
int stackLen = (len < 120 ? 5 :
len < 1542 ? 10 :
len < 119151 ? 19 : 40);
runBase = new int[stackLen];
runLen = new int[stackLen];
}
项目:FreeCol
文件:Colony.java
/**
* {@inheritDoc}
*/
@Override
public Unit getDefendingUnit(Unit attacker) {
if (displayUnitCount > 0) {
// There are units, but we don't see them
return null;
}
// Note that this function will only return a unit working
// inside the colony. Typically, colonies are also defended
// by units outside the colony on the same tile. To consider
// units outside the colony as well, use
// @see Tile#getDefendingUnit instead.
final CombatModel cm = getGame().getCombatModel();
final Comparator<Unit> comp
= cachingDoubleComparator(u -> cm.getDefencePower(attacker, u));
return maximize(getUnits(), comp);
}
项目:MoodSwings
文件:MoodList.java
/**
*
* @return
*
* Get the most recent mood from the end of the sorted array.
*/
public MoodEvent getMostRecent() {
Collections.sort(moodEvents, new Comparator<MoodEvent>() {
public int compare(MoodEvent mood1, MoodEvent mood2) {
long t1 = 0;
long t2 = 0;
try {
t1 = COMBINED_DATE_FORMAT.parse(
String.format("%1$s %2$s", mood1.getDate(), mood1.getTime()))
.getTime();
t2 = COMBINED_DATE_FORMAT.parse(
String.format("%1$s %2$s", mood2.getDate(), mood2.getTime()))
.getTime();
} catch (ParseException e) {
return 1;
}
return Long.valueOf(t2).compareTo(t1);
}
});
return getMoodEvent(0);//(moodEvents.size() - 1);
}
项目:s-store
文件:Range.java
/**
* Returns {@code true} if every element in {@code values} is {@linkplain #contains contained} in
* this range.
*/
public boolean containsAll(Iterable<? extends C> values) {
if (Iterables.isEmpty(values)) {
return true;
}
// this optimizes testing equality of two range-backed sets
if (values instanceof SortedSet) {
SortedSet<? extends C> set = cast(values);
Comparator<?> comparator = set.comparator();
if (Ordering.natural().equals(comparator) || comparator == null) {
return contains(set.first()) && contains(set.last());
}
}
for (C value : values) {
if (!contains(value)) {
return false;
}
}
return true;
}
项目:FreeCol
文件:DebugUtils.java
/**
* Debug action to change the roles of a unit.
*
* Called from tile popup menu.
*
* @param freeColClient The {@code FreeColClient} for the game.
* @param unit The {@code Unit} to change the role of.
*/
public static void changeRole(final FreeColClient freeColClient,
final Unit unit) {
final FreeColServer server = freeColClient.getFreeColServer();
final Game sGame = server.getGame();
final Unit sUnit = sGame.getFreeColGameObject(unit.getId(), Unit.class);
final GUI gui = freeColClient.getGUI();
final Function<Role, ChoiceItem<Role>> roleMapper = r ->
new ChoiceItem<Role>(r.getId(), r);
Role roleChoice = gui.getChoice(null,
StringTemplate.template("prompt.selectRole"), "cancel",
transform(sGame.getSpecification().getRoles(), alwaysTrue(),
roleMapper, Comparator.naturalOrder()));
if (roleChoice == null) return;
sUnit.changeRole(roleChoice, roleChoice.getMaximumCount());
reconnect(freeColClient);
}
项目:PrivacyStreams
文件:ByFieldStreamSorter.java
@Override
protected void reorder(List<Item> items) {
Collections.sort(items, new Comparator<Item>() {
@Override
public int compare(Item item1, Item item2) {
Comparable value1 = item1.getValueByField(fieldToSort);
Comparable value2 = item2.getValueByField(fieldToSort);
return value1.compareTo(value2);
}
});
}
项目:lib-commons-httpclient
文件:TestCookiePathComparator.java
public void testEquality2() {
Cookie cookie1 = new Cookie(".whatever.com", "name1", "value", "/a/", null, false);
Cookie cookie2 = new Cookie(".whatever.com", "name1", "value", "/a", null, false);
Comparator comparator = new CookiePathComparator();
assertTrue(comparator.compare(cookie1, cookie2) == 0);
assertTrue(comparator.compare(cookie2, cookie1) == 0);
}
项目:alevin-svn2
文件:FullKnowledgeClusterHead.java
@Override
public Collection<ClusterHead> findClusterCandidates(final VirtualNetwork vNetwork, ClusterHead orig) {
LinkedList<FullKnowledgeClusterHead> result = new LinkedList<FullKnowledgeClusterHead>();
LinkedList<LockTree> queue = new LinkedList<LockTree>();
if (!subLockTree.isFullyLocked()) {
queue.add(subLockTree);
}
while (!queue.isEmpty()) {
LockTree current = queue.pop();
if (current.getChildren() != null) {
for (LockTree t : current.getChildren()) {
//TODO: Here we got Information of Children without sending a message!
if (estimationAlgorithm.estimate(
((FullKnowledgeClusterHead) t.getClusterHead()).getCluster(), vNetwork) >= 1.0d) {
if (t.isUnLocked()) {
queue.addLast(t);
}
}
}
}
if (current.getClusterHead() != orig) {
result.add((FullKnowledgeClusterHead) current.getClusterHead());
}
}
Collections.sort(result, new Comparator<FullKnowledgeClusterHead>() {
@Override
public int compare(FullKnowledgeClusterHead o1, FullKnowledgeClusterHead o2) {
double i1 = estimationAlgorithm.estimate(o1.getCluster(), vNetwork);
double i2 = estimationAlgorithm.estimate(o2.getCluster(), vNetwork);
if (i1 < i2) {
return -1;
}
if (i1 > i2) {
return 1;
}
return 0;
}
});
return new LinkedList<ClusterHead>(result);
}
项目:incubator-netbeans
文件:TableSorter.java
/**
* Sets comparator that will be used to compare values in the specified column. Note that the Comparator will obtain
* row indices (as Integer objects) to compare and NOT actual cell values.
*
* @param column model index of the column to be sorted
* @param comparator comparator that will sort the given column
*/
public void setColumnComparator(int column, Comparator comparator) {
if (comparator == null) {
columnComparators.remove(Integer.valueOf(column));
} else {
columnComparators.put(Integer.valueOf(column), comparator);
}
}
项目:cyberduck
文件:AttributedList.java
/**
* The CopyOnWriteArrayList iterator does not support remove but the sort implementation
* makes use of it. Provide our own implementation here to circumvent.
*
* @param comparator The comparator to use
* @see java.util.Collections#sort(java.util.List, java.util.Comparator)
* @see java.util.concurrent.CopyOnWriteArrayList#iterator()
*/
private void doSort(final Comparator<E> comparator) {
if(null == comparator) {
return;
}
if(log.isDebugEnabled()) {
log.debug(String.format("Sort list %s with comparator %s", this, comparator));
}
Collections.sort(impl, comparator);
}
项目:parabuild-ci
文件:SortedMap.java
public SortedMap(SessionImplementor session, CollectionPersister persister, Comparator comparator, Serializable disassembled, Object owner)
throws HibernateException {
super(session);
this.comparator=comparator;
beforeInitialize(persister);
Serializable[] array = (Serializable[]) disassembled;
for (int i=0; i<array.length; i+=2 ) map.put(
persister.getIndexType().assemble( array[i], session, owner ),
persister.getElementType().assemble( array[i+1], session, owner )
);
setInitialized();
}
项目:BrainControl
文件:StrategyStorage.java
/**
* Sorts a given list of strategies based on their successRate
*
* @param strategyList the list of strategies to be sorted
* @return the sorted list of strategies
*/
private ArrayList<Strategy> sortStrategies(ArrayList<Strategy> strategyList){
Collections.sort(strategyList, new Comparator<Strategy>()
{
@Override
public int compare(Strategy s, Strategy t)
{
return (int)(s.getSuccessRate() - t.getSuccessRate());
}
});
return strategyList;
}
项目:AquamarineLake
文件:Lambda.java
public static void main(String[] args)
{
int a = 4;
int b = 3;
Comparator<Integer> xd = (x, y) -> {
if (x > y) return -1;
if (x == y) return 0;
if (x < y) return 1;
return -2;
};
System.out.println(xd.compare(a, b));
}
项目:featurea
文件:TimSort.java
@SuppressWarnings("fallthrough")
private static <T> void binarySort(T[] a, int lo, int hi, int start, Comparator<? super T> c) {
if (DEBUG) assert lo <= start && start <= hi;
if (start == lo) start++;
for (; start < hi; start++) {
T pivot = a[start];
int left = lo;
int right = start;
if (DEBUG) assert left <= right;
while (left < right) {
int mid = (left + right) >>> 1;
if (c.compare(pivot, a[mid]) < 0) {
right = mid;
} else {
left = mid + 1;
}
}
if (DEBUG) assert left == right;
int n = start - left;
switch (n) {
case 2:
a[left + 2] = a[left + 1];
case 1:
a[left + 1] = a[left];
break;
default:
System.arraycopy(a, left, a, left + 1, n);
}
a[left] = pivot;
}
}
项目:alfresco-repository
文件:VersionHistoryImpl.java
@SuppressWarnings({ "unchecked", "deprecation" })
private void readObject(ObjectInputStream is) throws ClassNotFoundException, IOException
{
GetField fields = is.readFields();
if (fields.defaulted("versionsByLabel"))
{
// This is a V2.2 class
// The old 'rootVersion' maps to the current 'rootVersion'
this.versionsByLabel = (HashMap<String, Version>) fields.get("versions", new HashMap<String, Version>());
// The old 'versionHistory' maps to the current 'versionHistory'
this.versionHistory = (HashMap<String, String>) fields.get("versionHistory", new HashMap<String, String>());
// Need this comparator as versionsByLabel is not a LinkedHashMap in this version
this.versionComparatorDesc = new VersionLabelComparator();
}
else if (fields.defaulted("versionComparatorDesc"))
{
// This is a V3.1.0 class
// The old 'rootVersion' maps to the current 'rootVersion'
this.versionsByLabel = (HashMap<String, Version>) fields.get("versionsByLabel", new HashMap<String, Version>());
// The old 'versionHistory' maps to the current 'versionHistory'
this.versionHistory = (HashMap<String, String>) fields.get("versionHistory", new HashMap<String, String>());
// Need this comparator as versionsByLabel is not a LinkedHashMap in this version
this.versionComparatorDesc = new VersionLabelComparator();
}
else
{
// This is a V4.1.3 (and 4.0.2 HF) class
// The old 'rootVersion' maps to the current 'rootVersion'
this.versionsByLabel = (Map<String, Version>) fields.get("versionsByLabel", new LinkedHashMap<String, Version>());
// The old 'versionHistory' maps to the current 'versionHistory'
this.versionHistory = (HashMap<String, String>) fields.get("versionHistory", new HashMap<String, String>());
this.versionComparatorDesc = (Comparator<Version>) fields.get("versionComparatorDesc", null);
}
}
项目:android-retrostreams
文件:Spliterators.java
private static <T> Spliterator<T> setSpliterator(Set<? extends T> c, String name) {
if (!IS_HARMONY_ANDROID && NATIVE_SPECIALIZATION) {
if ("java.util.HashMap$EntrySet".equals(name)) {
return (Spliterator<T>) HMSpliterators
.<Object, Object> getEntrySetSpliterator((Set<Map.Entry<Object, Object>>) c);
}
if ("java.util.HashMap$KeySet".equals(name)) {
return HMSpliterators.getKeySetSpliterator((Set<T>) c);
}
}
if (c instanceof LinkedHashSet) {
return spliterator(c, Spliterator.DISTINCT | Spliterator.ORDERED);
}
if (!IS_HARMONY_ANDROID && NATIVE_SPECIALIZATION) {
if (c instanceof HashSet) {
return HMSpliterators.getHashSetSpliterator((HashSet<T>) c);
}
}
// default from j.u.SortedSet
if (c instanceof SortedSet) {
return new IteratorSpliterator<T>(c, Spliterator.DISTINCT
| Spliterator.SORTED | Spliterator.ORDERED) {
@Override
public Comparator<? super T> getComparator() {
return ((SortedSet<T>) c).comparator();
}
};
}
if ((NATIVE_SPECIALIZATION || IS_ANDROID) && c instanceof CopyOnWriteArraySet) {
return COWArraySetSpliterator
.spliterator((CopyOnWriteArraySet<T>) c);
}
// default from j.u.Set
return Spliterators.spliterator(c, Spliterator.DISTINCT);
}
项目:FlashLib
文件:CvProcessing.java
/**
* Sorts the contours by their size and removes contours for the bottom of the list if the list contains
* too many contours.
*
* @param contours list of contours
* @param amount the maximum amount of contours that should remain after the operation
* @see #filterByComparator(List, int, Comparator)
*/
public static void filterForSmallestContours(List<MatOfPoint> contours, int amount){
Comparator<MatOfPoint> sizeComparer = (MatOfPoint o1, MatOfPoint o2) ->{
if(o1.total() > o2.total()) return 1;
else if(o2.total() > o1.total()) return -1;
return 0;
};
filterByComparator(contours, amount, sizeComparer);
}
项目:Cognizant-Intelligent-Test-Scripter
文件:ORUtils.java
public static void sort(ORRootInf root) {
Collections.sort(root.getPages(), new Comparator<ORPageInf>() {
@Override
public int compare(ORPageInf t, ORPageInf t1) {
return t.getName().compareToIgnoreCase(t1.getName());
}
});
}
项目:s-store
文件:HistogramUtil.java
/**
* Returns the list of values sorted in descending order by cardinality
* @param h
* @return
*/
public static <X> Collection<X> sortedValues(final Histogram<X> h) {
SortedSet<X> sorted = new TreeSet<X>(new Comparator<X>() {
public int compare(final X item0, final X item1) {
final Long v0 = h.get(item0);
final Long v1 = h.get(item1);
if (v0.equals(v1))
return (-1);
return (v1.compareTo(v0));
}
});
sorted.addAll(h.values());
return (sorted);
}
项目:guava-mock
文件:SetsTest.java
/**
* Utility method to verify that the given SortedSet is equal to and
* hashes identically to a set constructed with the elements in the
* given iterable. Also verifies that the comparator is the same as the
* given comparator.
*/
private static <E> void verifySortedSetContents(
SortedSet<E> set, Iterable<E> iterable,
@Nullable Comparator<E> comparator) {
assertSame(comparator, set.comparator());
verifySetContents(set, iterable);
}
项目:CustomWorldGen
文件:GameRegistry.java
private static void computeSortedGeneratorList()
{
ArrayList<IWorldGenerator> list = Lists.newArrayList(worldGenerators);
Collections.sort(list, new Comparator<IWorldGenerator>()
{
@Override
public int compare(IWorldGenerator o1, IWorldGenerator o2)
{
return Ints.compare(worldGeneratorIndex.get(o1), worldGeneratorIndex.get(o2));
}
});
sortedGeneratorList = ImmutableList.copyOf(list);
}
项目:Apriori
文件:TieBreakerTest.java
/**
* Tests the functionality of a multiple tie-breaking strategies for item sets.
*/
@Test
public final void testMultipleTieBreakingStrategiesForItemSets() {
ItemSet itemSet1 = mock(ItemSet.class);
ItemSet itemSet2 = mock(ItemSet.class);
Comparator<ItemSet> comparator1 = (o1, o2) -> 0;
Comparator<ItemSet> comparator2 = (o1, o2) -> -1;
TieBreaker<ItemSet> tieBreaker = TieBreaker.forItemSets().custom(comparator1)
.custom(comparator2);
assertEquals(-1, tieBreaker.compare(itemSet1, itemSet2));
}
项目:android-agenda-view
文件:AgendaView.java
protected void drawShifts(Canvas canvas) {
int px = 10;
Paint mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mTextPaint.setTextSize(DEPARTMENT_FONT_SIZE);
mTextPaint.setColor(Color.DKGRAY);
Paint mLinePaint = new Paint(Paint.ANTI_ALIAS_FLAG);
mLinePaint.setColor(Color.LTGRAY);
ArrayList<List<IShift>> departments = new ArrayList<>();
departments.addAll(ShiftHashData.values());
Collections.sort(departments, new Comparator<List<IShift>>() {
@Override
public int compare(List<IShift> lhs, List<IShift> rhs) {
return lhs.get(0).getSectionName().compareTo(rhs.get(0).getSectionName());
}
});
for (List<IShift> department : departments) {
List<ShiftLevel> added = new ArrayList<>();
MaxHeight = 0;
for (IShift shift : department) {
// To check if the shift collides with other in the department
drawRoundRect(canvas, shift, department, added);
}
IShift firstElement = department.get(0);
// Write Dep. Name
canvas.drawText(firstElement.getSectionName(), px, py + DEPARTMENT_FONT_SIZE + DEPARTMENT_VERTICAL_PADDING, mTextPaint);
py = ROUND_RECT_PADDING + MaxHeight;
canvas.drawLine(0, py, viewWidth, py, mLinePaint);
}
}
项目:hue
文件:JoinDetector.java
private List<Entry<String, Integer>> sortMapByRatios(){
Comparator<Entry<String, Integer>> byValue = (entry1, entry2) -> entry1.getValue().compareTo(
entry2.getValue());
List<Entry<String, Integer>> l = ratioMap
.entrySet()
.stream()
.sorted(byValue.reversed())
.collect(Collectors.toList());
logger.debug("Sorted ratioMap: /n" + l);
return l;
}
项目:openjdk-jdk10
文件:ConcurrentSkipListMap.java
public Comparator<? super K> comparator() {
Comparator<? super K> cmp = m.comparator();
if (isDescending)
return Collections.reverseOrder(cmp);
else
return cmp;
}
项目:ProjectAres
文件:Comparators.java
public static <T, U> Comparator<T> instancesFirst(Class<U> type, Comparator<U> c) {
return (a, b) -> {
if(type.isInstance(a)) {
if(type.isInstance(b)) {
return c.compare(type.cast(a), type.cast(b));
} else {
return -1;
}
} else {
return type.isInstance(b) ? 1 : 0;
}
};
}
项目:openjdk-jdk10
文件:TestBCI.java
Optional<SortedSet<Integer>> findLineNumbers(int value) {
return bciToLineNumbers.entrySet().stream()
.sorted(Map.Entry.comparingByKey(Comparator.reverseOrder()))
.filter(e -> e.getKey().intValue() <= value)
.map(Map.Entry::getValue)
.findFirst();
}
项目:underlx
文件:StationPickerView.java
@Override
public void sortStations(List<Station> stations) {
final BellmanFordShortestPath<Stop, Connection> bfsp = new BellmanFordShortestPath<Stop, Connection>(network, startVertex);
Collections.sort(stations, new Comparator<Station>() {
@Override
public int compare(Station station, Station t1) {
return Double.compare(getStationWeight(station, bfsp), getStationWeight(t1, bfsp));
}
});
}
项目:incubator-servicecomb-java-chassis
文件:PerfStatMonitorMgr.java
public void registerPerfStat(PerfStat perfStat, int index) {
String name = perfStat.getName();
PerfStatMonitor monitor = monitorMap.get(name);
if (monitor == null) {
monitor = new PerfStatMonitor(name, index);
monitorMap.put(name, monitor);
monitorList.add(monitor);
monitorList.sort(Comparator.comparingInt(PerfStatMonitor::getIndex));
}
monitor.addThreadStat(perfStat);
}