我有一个像这样的静态地图
static Map<String, Desttination> myMap = new HashMap<String, Desttination>();
泰国人已插入4或n个键值对。 ....
我的要求是每次我想逐一从地图中检索值。例如
当我第一次按getValue()
时,它会返回Key1
Next time it return the Value for Key2
Next time it return the Value for Key3
Next time it return the Value for Key4
下次再次返回Key1的值..
实现此目的的最佳方法是什么?是否有Java内置功能?
由于
答案 0 :(得分:1)
对于您的要求,您可以使用Queue
。只有在您填充队列后,您必须先从poll()
获取值,然后在使用值后,通过调用Queue
方法将值重新插入add()
。
Queue<String> testQueue = new LinkedList<String>();
testQueue.add("first");
testQueue.add("understand");
testQueue.add("problem");
testQueue.add("then Ask");
String fristValue = testQueue.poll();
//Use your value;
System.out.println(fristValue);
//After you are done using it, resubmit it to the Queue
testQueue.add(fristValue);
String secondValue = testQueue.poll();
//same way....
System.out.println(secondValue);
如果您真的使用String
,请将key
替换为您自己的封装类。但考虑到您的问题,key
对您来说并不重要。
无论如何,如果它很重要,那么你的封装类将如下所示:
class Entry{
String key;
String value;
.....
//Relevant methods.
}