Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- List<T> members;
- SortedListHandler<T> membersHandler;
- Collection<LayeredSortedQueue<T, K>> memberQueues;
- Lambda<T, K> keyGetter;
- @Override
- public boolean add(T e)
- {
- membersHandler.Insert(members, e);
- return true;
- }
- @Override
- public boolean offer(T e)
- { return add(e); }
- @Override
- public T remove()
- {
- LayeredSortedQueue<T, K> currentFrom = null;
- T current = null;
- if(!members.isEmpty())
- current = members.get(0);
- for(LayeredSortedQueue<T, K> i : memberQueues)
- {
- if(current == null || keyGetter.getMember(i.peek()).compareTo(keyGetter.getMember(current)) < 0)
- {
- currentFrom = i;
- current = i.peek();
- }
- }
- if(currentFrom == null)
- return members.remove(0);
- else
- return currentFrom.remove();
- }
Advertisement
Add Comment
Please, Sign In to add comment