У меня есть hashmap
с объектом очереди, и я хочу заглянуть в разные очереди в разных очередях в том порядке, в котором они находятся в очереди, каждый раз, когда я просматриваю объект, как правило, проблему с производителем-потребителем;Java peek следующий элемент в hashmap
public class MainQueue {
public static Map<Integer, SingleQueue> list = new ConcurrentHashMap<>();
public MainQueue() {
}
public Map getQueue() {
return this.list;
}
public void addToMainQueue(SendObject sfo) {
int ohashcode = sfo.hashCode();
if (!list.containsKey(ohashcode)) {
list.put(ohashcode, new SingleQueue());
list.get(ohashcode).addQueue(sfo);
} else {
list.get(ohashcode).addQueue(sfo);
}
}
public SendObject getFromQueue() {
???
return TempFax;
}
}
---------HashMap-------------
423532,queue1:{1,2,3,4,5,6,7,8,9}
564898,queue2:{a,b,c,d,e}
039894,queue3:{x,y,z}
Когда я вызываю функцию getFromQueue, она должна вернуть «1» после того, как я называю, возврат «а» после того, как я называю, возврат «х»
finally= 1,a,x,2,b,y,3,c,z,4,d,5,e,6,7,8,9
Как я могу это сделать?
В чем проблема? – Maroun
Извините, я отредактировал свой вопрос. – cagdas
В качестве побочного примечания вы, вероятно, не должны использовать хеш-коды в качестве ключа ... Два объекта могут иметь один и тот же хэш-код. Как правило, точка хэш-карты должна иметь, например, «Карта». –
Radiodef