2012-05-28 80 views
34

我只想将transitionHash映射值移入cardholderDataRecords数组列表中。将HashMap转换为ArrayList

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 

回答

97

你试着投值的集合到一个ExceptionLifeCycleDataBean

你可以很容易把这些名单,但:

List<ExceptionLifeCycleDataBean> beans = 
    new ArrayList<ExceptionLifeCycleDataBean>(transitionHash.values()); 

或添加到现有的集合,具有:

cardholderDataRecords.addAll(transitionHash.values()); 

没有必要投下。

+0

我成功地使用addAll从HashMap转换为ArrayList。但我无法循环使用新的数组列表: (ExceptionLifeCycleDataBean bean:cardholderDataRecords) 可以这样做吗? – user2396640

+0

@ user2396640我不知道你是什么意思。也许你应该问一个关于细节的新问题。 –

-1

转换数据的HashSet到数组列表

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

同样的方式,你可以的ArrayList转换为HashMap中。

+0

它不工作! :( – Jorgesys