manish.ceg
BAN USERGuys this code should work.... Please feel free to give scenario where it fail;
public static void main(String[] args) throws IOException, Exception {
List<String> list = new ArrayList<String>();
list.add("172.1.1");
list.add("172.1");
list.add("166");
list.add("178");
list.add("172.10.1");
list.add("172.11.1");
list.add("172.12.1");
list.add("172.2.1");
list.add("172.21.1");
list.add("172.3.1");
list.add("174.12.2");
list.add("174.1.22");
System.out.println("***********Before sort************");
System.out.println(list);
Collections.sort(list,new Comparator(){
@Override
public int compare(Object o1, Object o2) {
String [] sarr1=((String)o1).split("\\.");
String [] sarr2=((String)o2).split("\\.");
for(int i=0;i<sarr1.length;i++){
int val1=Integer.parseInt(sarr1[i]);
int val2=0;
if(sarr2.length>i){
val2=Integer.parseInt(sarr2[i]);
}
if(val1!=val2 ){
return val1-val2;
}
}
return 0;
}
});
System.out.println("*********After sort********");
System.out.println(Arrays.asList(list));
}
Last element will be the latest version..:)
- manish.ceg October 24, 2013
- manish.ceg January 15, 2014