Reputation: 4013
Sequence of statements to copy HashMap
to 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 To Display Above Map:
public static void printMap(Map<String, Bitmap> map) {
for (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 be displayed in the 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
Upvotes: 1
Views: 93
Reputation: 44746
It is sorting lexicographically (the default sort method).
You'll have to define your own implementation of a natural sort order. The constructor of TreeMap
allows you to pass in your custom comparator.
Upvotes: 6