java - TreeMap doesn't sort properly in this case -


sequence of statements copy hashmap treemap

private map<string,bitmap> imagefilexx= new hashmap<string,bitmap>();  //assuming map has values printmap(imagefilexx); treemap<string,bitmap> imagefilexxs; imagefilexxs= new treemap<string,bitmap>(imagefilexx); printmap(imagefilexxs); 

function display above map:

public static void printmap(map<string, bitmap> map) {         (map.entry entry : map.entryset()) {             system.out.println("key : " + entry.getkey());         }     } 

input:

key : http://myserver.com/myfolder/imagedesc/imagedesc%20p7.png   key : http://myserver.com/myfolder/imagedesc/imagedesc%20p1.png  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p5.png  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p3.png  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p11.png  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p9.png  

current o/p:

key : http://myserver.com/myfolder/imagedesc/imagedesc%20p1.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p11.png //11 should displayed in last  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p3.png  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p5.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p7.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p9.png  

expected o/p:

key : http://myserver.com/myfolder/imagedesc/imagedesc%20p1.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p3.png  key : http://myserver.com/myfolder/imagedesc/imagedesc%20p5.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p7.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p9.png key : http://myserver.com/myfolder/imagedesc/imagedesc%20p11.png 

it sorting lexicographically (the default sort method).

you'll have define own implementation of natural sort order. constructor of treemap allows pass in custom comparator.


Comments