㈠ 用java重寫Comparator實現自定義排序
packagetest;
importjava.text.ParseException;
importjava.text.SimpleDateFormat;
importjava.util.Arrays;
importjava.util.Comparator;
importjava.util.Date;
publicclassTest
{
publicstaticvoidmain(String[]args)
{
String[]array={
"2014-04-01T15:47:33.273Z",
"2014-04-01T15:47:33.444Z",
"2014-04-01T15:47:33.614Z",
"2014-04-06T19:43:03.202Z",
"2014-04-06T19:43:03.274Z",
"2014-04-06T19:43:03.372Z",
"2014-04-06T19:43:03.416Z",
"2014-09-26T18:49:34.024Z",
"2014-09-26T18:49:34.026Z"
};
finalSimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
Arrays.sort(array,newComparator<String>()
{
@Override
publicintcompare(Stringo1,Stringo2)
{
try
{
Dated1=sdf.parse(o1);
Dated2=sdf.parse(o2);
if(d1.before(d2))
{
return1;
}
elseif(d1.after(d2))
{
return-1;
}
else
{
return0;
}
}
catch(ParseExceptione)
{
e.printStackTrace();
return0;
}
}
});
for(Stringstring:array)
{
System.out.println(string);
}
}
}
㈡ JAVA 字母排序,並插入字母後再次排序
import java.util.Comparator;
import java.util.Iterator;
import java.util.TreeSet;
public class Demo{
public static void main(String args[]){
ts = new TreeSet(new MyComp());
ts.add("C");
ts.add("A");
ts.add("B");
ts.add("E");
ts.add("F");
ts.add("D");
// Get an iterator
Iterator i = ts.iterator();
// Display elements
while(i.hasNext()) {
Object element = i.next();
System.out.print(element + " ");
}
System.out.println();
}
}
class MyComp<T> implements Comparator<T>{
public int compare(T a, T b) {
String aStr, bStr;
aStr = (String) a;
bStr = (String) b;
// reverse the comparison
return aStr.compareTo(bStr);
}
}