Top Description Fields Constructors Methods
com.ibm.icu.impl

public Class IterableComparator<T>

extends Object
implements Comparator<Iterable<T>>
Class Inheritance
All Implemented Interfaces
java.util.Comparator
Imports
java.util.Comparator, .Iterator

Todo

Move to com.ibm.icu.dev.somewhere. 2015-sep-03: Not used in ICU but used in CLDR and in UnicodeTools.

Field Summary

Modifier and TypeField and Description
private final Comparator<T>
private static final IterableComparator<T>
private final int

Constructor Summary

AccessConstructor and Description
public
public
public
IterableComparator(Comparator<T> comparator, boolean shorterFirst)

Method Summary

Modifier and TypeMethod and Description
public int
compare(Iterable<T>
the first object to be compared.
a
,
Iterable<T>
the second object to be compared.
b
)

Implements java.util.Comparator.compare.

Compares its two arguments for order.
public static <T> int
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

comparatorback to summary
private final Comparator<T> comparator
NOCOMPARATORback to summary
private static final IterableComparator<T> NOCOMPARATOR
Annotations
@SuppressWarnings:rawtypes
shorterFirstback to summary
private final int shorterFirst

Constructor Detail

IterableComparatorback to summary
public IterableComparator()
IterableComparatorback to summary
public IterableComparator(Comparator<T> comparator)
IterableComparatorback to summary
public IterableComparator(Comparator<T> comparator, boolean shorterFirst)

Method Detail

compareback to summary
public int compare(Iterable<T> a, Iterable<T> b)

Implements java.util.Comparator.compare.

Doc from java.util.Comparator.compare.

Compares its two arguments for order. Returns a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

The implementor must ensure that signum(compare(x, y)) == -signum(compare(y, x)) for all x and y. (This implies that compare(x, y) must throw an exception if and only if compare(y, x) throws an exception.)

The implementor must also ensure that the relation is transitive: ((compare(x, y)>0) && (compare(y, z)>0)) implies compare(x, z)>0.

Finally, the implementor must ensure that compare(x, y)==0 implies that signum(compare(x, z))==signum(compare(y, z)) for all z.

Parameters
a:Iterable<T>

the first object to be compared.

b:Iterable<T>

the second object to be compared.

Returns:int

a negative integer, zero, or a positive integer as the first argument is less than, equal to, or greater than the second.

Annotations
@Override
compareIterablesback to summary
public static <T> int compareIterables(Iterable<T> a, Iterable<T> b)
Annotations
@SuppressWarnings:unchecked