将 HashMap 转换为 ArrayList
Posted
技术标签:
【中文标题】将 HashMap 转换为 ArrayList【英文标题】:Converting HashMap to ArrayList 【发布时间】:2012-06-02 13:16:14 【问题描述】:我只想将 transitionHash 映射值移动到 cardholderDataRecords 数组列表中。
HashMap<String,ExceptionLifeCycleDataBean> transitionHash = new HashMap<String,ExceptionLifeCycleDataBean>();
ArrayList<ExceptionLifeCycleDataBean> cardholderDataRecords = new ArrayList<ExceptionLifeCycleDataBean>();
我正在做的事情
cardholderDataRecords.add((ExceptionLifeCycleDataBean) transitionHash.values());
它在扔
java.lang.ClassCastException: java.util.HashMap$Values cannot be cast to com.reportss.bean.ExceptionLifeCycleDataBean
【问题讨论】:
【参考方案1】:将数据 HashSet 转换为数组列表
ArrayList<ExceptionLifeCycleDataBean> cardholderDataRecords = new ArrayList<ExceptionLifeCycleDataBean>(transitionHash);
同样的方法,你可以将 ArrayList 转换为 Hashmap。
【讨论】:
【参考方案2】:您正在尝试将值集合转换为单个ExceptionLifeCycleDataBean
。
你可以很容易地得到这个列表:
List<ExceptionLifeCycleDataBean> beans =
new ArrayList<ExceptionLifeCycleDataBean>(transitionHash.values());
或添加到现有集合中,使用:
cardholderDataRecords.addAll(transitionHash.values());
不需要强制转换。
【讨论】:
我使用 addAll 成功地将 HashMap 转换为 ArrayList。但我不能使用循环新的数组列表:for (ExceptionLifeCycleDataBean bean:cardholderDataRecords) 可以吗? @user2396640 我不明白你的意思。也许你应该问一个新的细节问题。以上是关于将 HashMap 转换为 ArrayList的主要内容,如果未能解决你的问题,请参考以下文章
将带有List的scala hashmap转换为带有java list的java hashmap