1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.directory.mavibot.btree.comparator;
21
22
23 import java.util.Comparator;
24
25
26
27
28
29
30
31 public class LongArrayComparator implements Comparator<long[]>
32 {
33
34
35
36
37
38
39
40 public int compare( long[] longArray1, long[] longArray2 )
41 {
42 if ( longArray1 == longArray2 )
43 {
44 return 0;
45 }
46
47 if ( longArray1 == null )
48 {
49 if ( longArray2 == null )
50 {
51 return 0;
52 }
53 else
54 {
55 return -1;
56 }
57 }
58 else
59 {
60 if ( longArray2 == null )
61 {
62 return 1;
63 }
64 else
65 {
66 if ( longArray1.length < longArray2.length )
67 {
68 int pos = 0;
69
70 for ( long long1 : longArray1 )
71 {
72 long long2 = longArray2[pos];
73
74 if ( long1 == long2 )
75 {
76 pos++;
77 }
78 else if ( long1 < long2 )
79 {
80 return -1;
81 }
82 else
83 {
84 return 1;
85 }
86 }
87
88 return -1;
89 }
90 else
91 {
92 int pos = 0;
93
94 for ( long long2 : longArray2 )
95 {
96 long long1 = longArray1[pos];
97
98 if ( long1 == long2 )
99 {
100 pos++;
101 }
102 else if ( long1 < long2 )
103 {
104 return -1;
105 }
106 else
107 {
108 return 1;
109 }
110 }
111
112 if ( pos < longArray1.length )
113 {
114 return 1;
115 }
116 else
117 {
118 return 0;
119 }
120 }
121 }
122 }
123 }
124 }