244 |
|
private void grow(int minCapacity) { |
245 |
|
if (minCapacity < 0) // overflow |
246 |
|
throw new OutOfMemoryError(); |
247 |
< |
int oldCapacity = queue.length; |
247 |
> |
int oldCapacity = queue.length; |
248 |
|
// Double size if small; else grow by 50% |
249 |
|
int newCapacity = ((oldCapacity < 64)? |
250 |
|
((oldCapacity + 1) * 2): |
300 |
|
} |
301 |
|
|
302 |
|
private int indexOf(Object o) { |
303 |
< |
if (o != null) { |
303 |
> |
if (o != null) { |
304 |
|
for (int i = 0; i < size; i++) |
305 |
|
if (o.equals(queue[i])) |
306 |
|
return i; |
320 |
|
* @return {@code true} if this queue changed as a result of the call |
321 |
|
*/ |
322 |
|
public boolean remove(Object o) { |
323 |
< |
int i = indexOf(o); |
324 |
< |
if (i == -1) |
325 |
< |
return false; |
326 |
< |
else { |
327 |
< |
removeAt(i); |
328 |
< |
return true; |
329 |
< |
} |
323 |
> |
int i = indexOf(o); |
324 |
> |
if (i == -1) |
325 |
> |
return false; |
326 |
> |
else { |
327 |
> |
removeAt(i); |
328 |
> |
return true; |
329 |
> |
} |
330 |
|
} |
331 |
|
|
332 |
|
/** |
337 |
|
* @return {@code true} if removed |
338 |
|
*/ |
339 |
|
boolean removeEq(Object o) { |
340 |
< |
for (int i = 0; i < size; i++) { |
341 |
< |
if (o == queue[i]) { |
340 |
> |
for (int i = 0; i < size; i++) { |
341 |
> |
if (o == queue[i]) { |
342 |
|
removeAt(i); |
343 |
|
return true; |
344 |
|
} |
355 |
|
* @return {@code true} if this queue contains the specified element |
356 |
|
*/ |
357 |
|
public boolean contains(Object o) { |
358 |
< |
return indexOf(o) != -1; |
358 |
> |
return indexOf(o) != -1; |
359 |
|
} |
360 |
|
|
361 |
|
/** |
416 |
|
if (a.length < size) |
417 |
|
// Make a new array of a's runtime type, but my contents: |
418 |
|
return (T[]) Arrays.copyOf(queue, size, a.getClass()); |
419 |
< |
System.arraycopy(queue, 0, a, 0, size); |
419 |
> |
System.arraycopy(queue, 0, a, 0, size); |
420 |
|
if (a.length > size) |
421 |
|
a[size] = null; |
422 |
|
return a; |
509 |
|
lastRetElt = null; |
510 |
|
} else { |
511 |
|
throw new IllegalStateException(); |
512 |
< |
} |
512 |
> |
} |
513 |
|
expectedModCount = modCount; |
514 |
|
} |
515 |
|
} |
725 |
|
// Read in (and discard) array length |
726 |
|
s.readInt(); |
727 |
|
|
728 |
< |
queue = new Object[size]; |
728 |
> |
queue = new Object[size]; |
729 |
|
|
730 |
|
// Read in all elements. |
731 |
|
for (int i = 0; i < size; i++) |
732 |
|
queue[i] = s.readObject(); |
733 |
|
|
734 |
< |
// Elements are guaranteed to be in "proper order", but the |
735 |
< |
// spec has never explained what that might be. |
736 |
< |
heapify(); |
734 |
> |
// Elements are guaranteed to be in "proper order", but the |
735 |
> |
// spec has never explained what that might be. |
736 |
> |
heapify(); |
737 |
|
} |
738 |
|
} |