【问题标题】:comparing a map and returning right value比较地图并返回正确的值
【发布时间】:2014-05-28 12:39:11
【问题描述】:

我正在尝试从我的地图中检索双精度值,但是数据以数组形式返回,例如[value]。我究竟做错了什么?我希望在没有 [] 的情况下返回原始值。我可以转换为字符串,删除然后再转换,但这很麻烦

List<Map<Object,List<Map<String,Object>>>> tempValues = new ArrayList<Map<Object,List<Map<String,Object>>>>()

        for (Map<Object,List<Map<String,Object>>> map : tempValues) {   
            List<Object> temp = new ArrayList<Object>();
                for (Entry<Object, List<Map<String, Object>>> entry : map.entrySet()) {
                    for(int i =0;  i < entry.getValue().size(); i++)
                        temp.add(entry.getValue().get(i).values());
                }
            }
    }

【问题讨论】:

  • 到目前为止你有没有尝试过?
  • 是的,我已经更新了答案
  • 您能否提供一个“最小、完整且可验证的示例”代码,我们可以在我们的机器上实际运行和测试。然后我们可以修复代码并给您发回。
  • 又更新了.. 只是希望有人能指出我正确的方向
  • 这组极其嵌套的列表和地图的目的是什么?我觉得必须有更好的方法来做到这一点。

标签: java arrays sorting map


【解决方案1】:

试试这个

public static void main(String[] args) {

    System.out.println(func());

}

public static List<Double> func() {
    List<Double> dblList= new ArrayList<>();
    for (Map<Object, List<Map<String, Double>>> map : list) {
        for (List<Map<String, Double>> list : map.values()) {
            for (Map<String, Double> map1 : list) {
                for (Double dbl : map1.values()) {
                    dblList.add(dbl);

                }
            }
        }
    }
    return dblList;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-16
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    相关资源
    最近更新 更多