我有一个数组值的数组,例如-
Object[] = [[0.25, "green"],[1.0, "red"],[0.25,"Amber"]];
如何根据浮点值对其进行排序,我的预期输出将是-
Object[] = [[0.25,"green"],[0.25,"Amber"],[1.0,"Red"]];
我正在实现以下代码。我正在尝试将地图值分配到object []数组中并添加到列表中。
Object[] getRiskMeterColor(float val1, String val2) {
Object[] obj = { val1, val2 };
return obj;
}
//This block of code is for Meter display if no values present
public List<Object[]> getRiskMeterChartForZeroValue(List<RiskConfigTableData> classRangesList){
List<Object[]> riskMeterColor = new ArrayList<Object[]>();
Map<String, String> riskClassList = new TreeMap<String,String>();
Map<String, Float> weightForLabel = new TreeMap<String,Float>();
float riskWeight = 0;
if(classRangesList != null && !classRangesList.isEmpty()){
if(riskClassList != null && weightForLabel != null){
for(Entry<String, String> colorMap : riskClassList.entrySet()){
for(Entry<String, Float> weightMap : weightForLabel.entrySet()){
if(colorMap.getKey().equalsIgnoreCase(weightMap.getKey())){
riskMeterColor.add(getRiskMeterColor(weightMap.getValue() / 100, colorMap.getValue()));
}
}
}
}
}
return riskMeterColor;
}
在这里,我将列表转换为数组,因此边数组中的值不按升序排列(如上所示)。
List<Object[]> riskMeterColorList =
getRiskMeterChartForZeroValue(classRangesList);
if (riskMeterColorList != null) {
Object[] userArray = riskMeterColorList.toArray(new
Object[riskMeterColorList.size()]);
}
答案 0 :(得分:0)
我以不同的方式尝试解决了自己的问题。我先将这两个值添加到列表中,然后使用Comparator将其按升序排序,然后将此列表添加到Object []并将其添加到List,以使其满足我的需求。