将HashMap转换为ArrayList

48

我只想将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
2个回答

130
你试图将值的集合转换为单个ExceptionLifeCycleDataBean
你可以很容易地获取该列表:
List<ExceptionLifeCycleDataBean> beans =
    new ArrayList<ExceptionLifeCycleDataBean>(transitionHash.values());

或者使用以下代码将元素添加到已有集合中:

cardholderDataRecords.addAll(transitionHash.values());

无需进行强制类型转换。


我已经成功地使用addAll从HashMap转换为ArrayList。但是我无法使用以下方式循环新的ArrayList: for (ExceptionLifeCycleDataBean bean : cardholderDataRecords) 这能做到吗? - user2396640
@user2396640 我不明白你的意思。也许你应该提出一个带有详细信息的新问题。 - Jon Skeet

-3

将数据 HashSet 转换成数组列表

ArrayList<ExceptionLifeCycleDataBean> cardholderDataRecords = new ArrayList<ExceptionLifeCycleDataBean>(transitionHash);

同样的方法,您可以将ArrayList转换为Hashmap。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接