2012-05-28 119 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