import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class SecondArray { public static ArrayListlist = new ArrayList(); public static void main(String args[]){ CustomString cs= new CustomString("123744444"); list.add(cs); cs= new CustomString("421212345"); list.add(cs); cs= new CustomString("758312948"); list.add(cs); cs= new CustomString("134129302"); list.add(cs); cs= new CustomString("123755555"); list.add(cs); System.out.println(list); Collections.sort(list, new CustomComparator()); System.out.println(list); } } class CustomString { String [] devidedValues = new String[2]; CustomString(String value){ devidedValues[0] = value.substring(0, 4); devidedValues[1] = value.substring(4, value.length()); } /** * @return the devidedValues */ public String[] getDevidedValues() { return devidedValues; } /** * @param devidedValues the devidedValues to set */ public void setDevidedValues(String[] devidedValues) { this.devidedValues = devidedValues; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return devidedValues[0] + devidedValues[1]; } } class CustomComparator implements Comparator { @Override public int compare(CustomString arg0, CustomString arg1) { String[] first = arg0.getDevidedValues(); String[] second = arg1.getDevidedValues(); int firstCompareVal = first[0].compareTo(second[0]) ; if(first[0].compareTo(second[0]) == 0){ return first[1].compareTo(second[1]) * -1; }else{ return firstCompareVal; } } }
Wednesday, November 19, 2014
CustomComparator in java
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment