java - Entry and LinkedLists, best way to iterate through them? -


i receiving classcastexception while trying cast linkedlist map or hashmap. have following linkedlist:

list<entry<integer, integer>> list = new linkedlist<entry<integer, integer>>(map.entryset()); 

and trying iterate through list doing following:

iterator<entry<integer, integer>> iter = ((map<integer, integer>) list).entryset().iterator(); // problematic code if (iter.hasnext()) {    //do stuff } 

what proper way of doing this? in advance!

you don't need cast. iterator method of list return iterator<entry<integer, integer>> want. because list type generic. whatever type of element in list type argument of iterator.

also in order loop, need while instead of if:

iterator<entry<integer, integer>> iter = list.iterator(); while (iter.hasnext()) {     entry<integer, integer> entry = iter.next();     //do stuff entry } 

or using for loop limit scope of iterator body of loop:

for (iterator<entry<integer, integer>> iter = list.iterator(); iterator.hasnext();) {     entry<integer, integer> entry = iter.next();     //do stuff entry } 

you existing map. there's no need create linkedlist , fill entries if want iterate on them:

iterator<entry<integer, integer>> iter = map.entryset().iterator(); 

Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -