【发布时间】:2013-09-18 19:54:45
【问题描述】:
我正在尝试按值对地图进行排序。数据结构如下:
Map<String, ArrayList<Object>>
ArrayList 包含一组对象的一组属性,这些对象的名称对应于映射中的字符串键值。
这个想法是我想按属性对这些对象进行排序。因此,假设透明度是这些对象的属性,所有对象的透明度都存储在ArrayList.get(3) 中。
我怎样才能以这样的方式对其进行排序:
我可以输出:
Transparency Object Name
Value Name 1
Value Name 2
Value Name 3
Value Name 4
我尝试了几种不同的方法,但似乎没有任何效果。 有任何想法吗?
编辑: 更多信息。
arrayList里面的对象要么都是Double类型,要么是String类型,我通过它们的默认比较来定义两个值之间的比较。本质上,我是这样组织数据的:
其属性包含在列表中的对象的名称是映射的键。键给出的值是该对象的属性列表。我想将对象 A 的属性(i)(其中 i 是用户输入)与对象 B 的属性(i)进行比较,然后使用 System.out.print() 或 printf() 输出它们
【问题讨论】:
-
另外,“排序地图”是什么意思。地图是无序的
-
您的问题不清楚。如何定义两个值 arraylist 对象之间的比较。请提供更明确的地图内容示例。即
Key=xxx,Value={a,b,c}; Key=yyy,Value={x,y,z}; etc...,然后显示您希望如何排列结果以及比较规则。 -
@JimGarrison 我提供了更多信息。
标签: java sorting map arraylist