如何对哈希图向量进行排序
我有一个 Hashmap 向量,并且 HashMap 包含不同的数据类型:
Vector<HashMap<String, Object>> theVector= new Vector<HashMap<String, Object>>();
theResults 包含此 HashMap:
HashMap<String, Object> theHashMap= new HashMap<String, Object>();
theHashMap 包含这些数据: (假装这是一个 for 循环)
//1st set
theHashMap.put("BLDG_ID", 111); //int
theHashMap.put("EMP_NAME", "AAA"); //String
theHashMap.put("FLAG", true); //boolean
theVector.add(theHashMap);
//2nd set
theHashMap.put("BLDG_ID", 222); //int
theHashMap.put("EMP_NAME", "BBB"); //String
theHashMap.put("FLAG", false); //boolean
theVector.add(theHashMap);
//2nd set<br>
theHashMap.put("BLDG_ID", 111); //int
theHashMap.put("EMP_NAME", "CCC"); //String
theHashMap.put("FLAG", false); //boolean
theVector.add(theHashMap);
我想根据 BLDG_ID 对 HashMap 向量的内容进行排序,以便当我显示数据时它看起来像
BLDG_ID || EMP_NAME
111 || AAA
111 || CCC
222 || BBB
我该怎么做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为你最好这样做:不要使用哈希图作为你的值,而是创建一个类。然后,您将对操作进行
编译时检查
,这将有助于防止出现错误。然后你可以使用你想要的任何排序对向量进行排序。如果您使用 ArrayList(Vector 的现代形式),您可以使用 Collections.sort(myList);
I think you'd be much better off doing something like this: Instead of using a hashmap for your values, just make a class. Then you'll get
compile time checking
on your operations, which will help prevent errors down the road.Then you can just sort the vector using whatever sort you want. If you use ArrayList (the modern form of Vector) you can use
Collections.sort(myList);
实现自定义
Comparator
,然后调用 Collections.sort注意:您可能希望使用 ArrayList 而不是 Vector。
Implement a custom
Comparator<Map<String, Object>>
, then call Collections.sortNote: You might want to use ArrayList instead of Vector.
更新:对于您的代码:
在“最后”之后
添加以下内容
Update: For your code:
After the "last"
add the following