Java Reference
In-Depth Information
s1
=
s1
.
substring
(
1
);
s2
=
s2
.
substring
(
1
);
return
return
s1
.
compareTo
(
s2
);
// or, more concisely:
// return s1.substring(1).compareTo(s2.substring(1));
}
}
Using it is just a matter of passing it as the
Comparator
argument to the correct form of
sort()
, as shown here:
public
public class
class
SubstrCompDemo
SubstrCompDemo
{
public
public static
void
main
(
String
[]
unused
) {
String
[]
strings
= {
"painful"
,
"mainly"
,
"gaining"
,
"raindrops"
static
void
};
Arrays
.
sort
(
strings
);
dump
(
strings
,
"Using Default Sort"
);
Arrays
.
sort
(
strings
,
new
new
SubstringComparator
());
dump
(
strings
,
"Using SubstringComparator"
);
}
static
static
void
void
dump
(
String
[]
args
,
String title
) {
System
.
out
.
println
(
title
);
for
for
(
int
int
i
=
0
;
i
<
args
.
length
;
i
++)
System
.
out
.
println
(
args
[
i
]);
}
}
Here is the output of running it:
$
java structure.SubstrCompDemo
Using Default Sort
gaining
mainly
painful
raindrops
Using SubstringComparator
raindrops
painful