当前位置: 首页 > 知识库问答 >
问题:

如何将复杂hashmap转换为arrayList

邢寒
2023-03-14

我已将此JSON转换为Hashmap

http://www.mocky.io/v2/5d0dc72d3400008c00ca4a62

我有嵌套的Hashmap,我想把它转换成ArrayList

Map<String, Bank> stringBankMap = getValues();

我想从stringBankMap获取所有数据并添加到列表中。我还希望hashmap的密钥也将作为指南导入列表中。

这是银行舱

public class Bank {
    private String guid;
    private String title;
    private long date;
    private String logo;
    private HashMap<String, HashMap<String, BankList>> list;
}

这是银行名单课程

public class BankList {
    private double buy;
    private double sell;
    private String currency;
}

我试过的

 for(Map.Entry<String, Bank> entry1 : stringBankMap.entrySet()) {
                Bank newBank = new Bank(entry1.getKey());
                Bank bank = entry1.getValue();
                newBank.setDate(bank.getDate());
                newBank.setLogo(bank.getLogo());
                newBank.setTitle(bank.getTitle());
                List<BankList> bankListList = new ArrayList<>();
                for(Map.Entry<String, HashMap<String, BankList>> entry2 : bank.getList().entrySet()) {
                    HashMap<String, BankList> map = entry2.getValue();
                    for (Map.Entry<String, BankList> entry3 : map.entrySet()) {
                        BankList newBankList = new BankList(entry3.getKey());
                        BankList bankList = entry3.getValue();
                        newBankList.setBuy(bankList.getBuy());
                        newBankList.setSell(bankList.getSell());
                        bankListList.add(newBankList);
                    }
                }
                bankArrayList.add(newBank);
            }

但我不明白为什么会有例外

如果可以的话,请给我推荐其他算法

 java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to core.model.Bank

共有1个答案

鱼阳伯
2023-03-14

您可以这样做:使用数据成员String key和Bank值创建一个类节点,如

`class Node{
String key;
Bank value;
Node(String k,Bank val){
    key=k;
    value=val;
}

}`

然后创建一个类Node的ArrayList,然后将元素添加到列表中,作为[列表名称]. add(new Node([在这里传递键和值]),通过遍历像这样的映射

然后可以按所需顺序遍历列表,并通过[arraylist name]获取元素。获取(索引)。键或[arraylist name]。获取(索引)。价值

 类似资料:
  • 我已经能够从json字符串中获取json数组,但不知道如何将其放入Hashmap中,其中字符串显示货物类型,整数显示数量。 字符串:

  • 我是Java 8流的新手。请提供建议,如何转换流<代码>流 例如,我在代码中有一些流: 我怎么能做这样的事 ? 对不起,我的英语不好。

  • 我想把它转换成数组,但是当我这样做的时候/我得到的是: 那么如何将转换为呢?在其他科目中找到的答案都不起作用。

  • 问题内容: 我有arrayList 我想像这样转换为ArrayList到HashMap 请帮助我如何转换为HashMap。 问题答案: 一般的方法是遍历,然后将值插入。示例如下:

  • 问题内容: 我有一个应用程序,该应用程序使用Jackson将我的复杂对象编组为JSON,从而在DynamoDB中存储一些数据。 例如,我要编组的对象可能如下所示: SomeObject可能看起来像这样: 和SomeOtherObject可能看起来像这样: 可以很好地将对象整理成问题并将其作为JSON字符串存储在数据库中。 当需要从DynamoDB检索数据时,Jackson会自动检索JSON并将其转

  • 某个物体可能看起来像这样: 另一个物体可能是这样的: 这很好,因为对象被封送,没有问题,并以JSON字符串的形式存储在DB中。