Java的map能不能排序?
RTlist是能够排序的,map好像不能,sortmap或者treemap可以吗?怎么用?如何让map能够排序?...
RT
list是能够排序的,map好像不能,sortmap或者treemap可以吗?
怎么用?
如何让map能够排序? 展开
list是能够排序的,map好像不能,sortmap或者treemap可以吗?
怎么用?
如何让map能够排序? 展开
展开全部
你可以直接对Map<Key,VAL>的key排序,Val就随着改变顺序了。或者采用TreeMap 构造方法里参数有个排序接口,你实现他。
关于按照Val排序,你需要稍微深入一些了
关于按照Val排序,你需要稍微深入一些了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
排序是可以的,不过得讲究一定的方法,因为map中是散落的储存的,而不是连续的,所以你先把map值存入list中,再排序一下好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
jdk里面没有这种现有的方法,需要根据需求自己写。
//以下是一个具体的封装方法
public static Map mapSortByInt(Map<Integer,String> map){
Set set = map.keySet();
Map<Integer,String> map1 = new HashMap<Integer,String>();
int[] keys = new int[set.size()];
Iterator it = set.iterator();
int count = 0;
while(it.hasNext()){
keys[count ++] = (int) it.next();
String value = map.get(keys[count - 1]);
map1.put(keys[count - 1], value);
}
return map1;
}
Test Code:
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
System.out.println(mapSortByInt(map));
Console:
{1=one, 2=two, 3=three}
//以下是一个具体的封装方法
public static Map mapSortByInt(Map<Integer,String> map){
Set set = map.keySet();
Map<Integer,String> map1 = new HashMap<Integer,String>();
int[] keys = new int[set.size()];
Iterator it = set.iterator();
int count = 0;
while(it.hasNext()){
keys[count ++] = (int) it.next();
String value = map.get(keys[count - 1]);
map1.put(keys[count - 1], value);
}
return map1;
}
Test Code:
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
System.out.println(mapSortByInt(map));
Console:
{1=one, 2=two, 3=three}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
map中保存key的是一个Set,而Set是无序的,所以你要排序,得自己写排序算法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询