集合排序问题,高手进,在线等候 通过大类跌代出小类,我把他们放在hashtable中 hashtable(key,value)对应的hashtable(大类,小类),但是在页面显示的时候,顺序和放进去的不一样,请问如何排序,或者有相同功能的数据结构,最好给出例子,万分感谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 顺序一样就不叫hash了要“顺序和放进去的一样”,用2个ArrayList,一个存放key,一个存放value hashtable是按key进行查找的(存放位置和初始大小、填充因子有关),不果不是按key进行查找,你用hashtable干什么啊?直接用ArrayList好了! 同意kingfish,如果要求的顺序是放入的顺序,则用ArrayList数组就行了,不须排序,按顺序取就是了. ArrayList[] result = new ArrayList[]{new ArrayList(),new ArrayyList()}; result[0].add(key1); result[1].add(value1); .....如果要排序,你要排key还是value,按什么排,都有讲究.一般是写一Comparator.Object[] x = result[1].toArray(); // 排ValueArrays.sort(x,new Comparator() { public int compare(Object o1, Object o2) {return ((Value)o1).field >= ((Value)o2).field;}}); 我需要的是大类跌代出小类,具体如下: 类1 a 类1 b 类2 a 类2 b那么这样我在页面显示就可以直接显示出来,楼上所说的能达到这个效果吗? 这样的话,两维是不容易做的.建议用一列放类名的和,如"类1a","类1b",...",然后用它做排序.hashtable.put(key.name+value.name,new Object[]{key,value});Object[] keys = hashtable.keySet().toArray();Arrays.sort( keys,public int compare(Object o1, Object o2) { return ((String)o1).compareTo((String)o2);}}); linkedhashmap可以实现放入顺序和取出顺序一样吗?我试过了,怎么还是不一样,但是介绍说是可以的,不知道什么原因? 容器类中super()的问题 java中如何输入字符串,并且限制字符串可输入的长度? System.out.println(new Date());问题 用java实现 链表 的一个问题,在线等…… 初学java的看过来~~~~ properties 文件中的中文字符正常显示,但程序运行后则相关中文字符全乱码 为什么不显示? 谁有java in a nutshell的电子版?要第3版或者第4版的。非常感谢 程序出拉问题,哪位高人能帮忙看看 我的jbuild6怎么没有 IConnectionPool接口 在线急等!字符的ASC码求解! 有两个向量v1,v2. 如何得到v1-v2的数据。
ArrayList[] result = new ArrayList[]{new ArrayList(),new ArrayyList()};
result[0].add(key1); result[1].add(value1);
.....如果要排序,你要排key还是value,按什么排,都有讲究.一般是写一Comparator.
Object[] x = result[1].toArray(); // 排Value
Arrays.sort(x,new Comparator() { public int compare(Object o1, Object o2) {
return ((Value)o1).field >= ((Value)o2).field;
}});
类1 a
类1 b
类2 a
类2 b
那么这样我在页面显示就可以直接显示出来,
楼上所说的能达到这个效果吗?
hashtable.put(key.name+value.name,new Object[]{key,value});
Object[] keys = hashtable.keySet().toArray();
Arrays.sort( keys,
public int compare(Object o1, Object o2) {
return ((String)o1).compareTo((String)o2);
}});