我需要获取 LinkedHashMap 的前一个元素。 我尝试使用 ListIterator,因为它有 previous() 方法。但问题是 ListIterator 需要一个 List 而不是一个集合。
ListIterator<Entry<String, Integer>> it = (ListIterator<Entry<String, Integer>>) unitsItems.entrySet().iterator();
我必须将我的 entrySet 转换成一个列表。所以我尝试了这个:
List entryList= new ArrayList (unitsItems.entrySet());
ListIterator<Entry<String, Integer>> it = (ListIterator<Entry<String, Integer>>) entryList.iterator();
我得到了这个错误:
java.util.ArrayList$Itr cannot be cast to java.util.ListIterator
谁能告诉我将集合转换为列表然后在 ListIterator 中使用它的正确方法? 谢谢。
最佳答案
根据要求:因为您已经有了列表 entryList
你只需要调用listIterator()
在它上面得到你想要的。
顺便说一句,我还将通用类型添加到列表中:List<Entry<String, Integer>> = new ArrayList<>(unitsItems.entrySet());
关于java - 获取 LinkedHashMap 的前一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35918790/