Javolution 6.0.0 java
javolution.util.internal.comparator.ArrayComparatorImpl Class Reference
Inheritance diagram for javolution.util.internal.comparator.ArrayComparatorImpl:
[legend]
Collaboration diagram for javolution.util.internal.comparator.ArrayComparatorImpl:
[legend]

Public Member Functions

int hashCodeOf (Object array)
 
boolean areEqual (Object array1, Object array2)
 
int hashCodeOf (E e)
 
boolean areEqual (E e1, E e2)
 
int compare (E left, E right)
 

Static Private Attributes

static final long serialVersionUID = 4134048629840904441L
 

Detailed Description

The array comparator implementation.

Definition at line 16 of file ArrayComparatorImpl.java.

Member Function Documentation

◆ areEqual() [1/2]

boolean javolution.util.internal.comparator.StandardComparatorImpl< E >.areEqual ( e1,
e2 
)
inherited

Definition at line 29 of file StandardComparatorImpl.java.

29  {
30  return (e1 == e2) || (e1 != null && e1.equals(e2));
31  }

◆ areEqual() [2/2]

boolean javolution.util.internal.comparator.ArrayComparatorImpl.areEqual ( Object  array1,
Object  array2 
)

Definition at line 46 of file ArrayComparatorImpl.java.

46  {
47  if (array1 == array2)
48  return true;
49  if ((array1 == null) || (array2 == null))
50  return false;
51  if (array1 instanceof Object[] && array2 instanceof Object[])
52  return Arrays.deepEquals((Object[]) array1, (Object[]) array2);
53  if (array1 instanceof byte[] && array2 instanceof byte[])
54  return Arrays.equals((byte[]) array1, (byte[]) array2);
55  if (array1 instanceof short[] && array2 instanceof short[])
56  return Arrays.equals((short[]) array1, (short[]) array2);
57  if (array1 instanceof int[] && array2 instanceof int[])
58  return Arrays.equals((int[]) array1, (int[]) array2);
59  if (array1 instanceof long[] && array2 instanceof long[])
60  return Arrays.equals((long[]) array1, (long[]) array2);
61  if (array1 instanceof char[] && array2 instanceof char[])
62  return Arrays.equals((char[]) array1, (char[]) array2);
63  if (array1 instanceof float[] && array2 instanceof float[])
64  return Arrays.equals((float[]) array1, (float[]) array2);
65  if (array1 instanceof double[] && array2 instanceof double[])
66  return Arrays.equals((double[]) array1, (double[]) array2);
67  if (array1 instanceof boolean[] && array2 instanceof boolean[])
68  return Arrays.equals((boolean[]) array1, (boolean[]) array2);
69  return array1.equals(array2);
70  }

◆ compare()

int javolution.util.internal.comparator.StandardComparatorImpl< E >.compare ( left,
right 
)
inherited

Definition at line 35 of file StandardComparatorImpl.java.

35  {
36  if (left == right)
37  return 0;
38  if (left == null)
39  return -1;
40  if (right == null)
41  return 1;
42  if (left instanceof Comparable)
43  return ((Comparable<E>) left).compareTo(right);
44 
45  // Empirical method (consistent with equals).
46  if (left.equals(right))
47  return 0;
48  return left.hashCode() < right.hashCode() ? -1 : 1;
49  }

◆ hashCodeOf() [1/2]

int javolution.util.internal.comparator.StandardComparatorImpl< E >.hashCodeOf ( e)
inherited

Definition at line 24 of file StandardComparatorImpl.java.

24  {
25  return (e == null) ? 0 : e.hashCode();
26  }

◆ hashCodeOf() [2/2]

int javolution.util.internal.comparator.ArrayComparatorImpl.hashCodeOf ( Object  array)

Definition at line 21 of file ArrayComparatorImpl.java.

21  {
22  if (array instanceof Object[])
23  return Arrays.deepHashCode((Object[]) array);
24  if (array instanceof byte[])
25  return Arrays.hashCode((byte[]) array);
26  if (array instanceof short[])
27  return Arrays.hashCode((short[]) array);
28  if (array instanceof int[])
29  return Arrays.hashCode((int[]) array);
30  if (array instanceof long[])
31  return Arrays.hashCode((long[]) array);
32  if (array instanceof char[])
33  return Arrays.hashCode((char[]) array);
34  if (array instanceof float[])
35  return Arrays.hashCode((float[]) array);
36  if (array instanceof double[])
37  return Arrays.hashCode((double[]) array);
38  if (array instanceof boolean[])
39  return Arrays.hashCode((boolean[]) array);
40  if (array != null)
41  return array.hashCode();
42  return 0;
43  }

Member Data Documentation

◆ serialVersionUID

final long javolution.util.internal.comparator.ArrayComparatorImpl.serialVersionUID = 4134048629840904441L
staticprivate

Definition at line 18 of file ArrayComparatorImpl.java.


The documentation for this class was generated from the following file:
Comparable