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
Post a Comment