4329
4330 @Override
4331 public Object[] toArray() {
4332 return Arrays.copyOf(a, a.length, Object[].class);
4333 }
4334
4335 @Override
4336 @SuppressWarnings("unchecked")
4337 public <T> T[] toArray(T[] a) {
4338 int size = size();
4339 if (a.length < size)
4340 return Arrays.copyOf(this.a, size,
4341 (Class<? extends T[]>) a.getClass());
4342 System.arraycopy(this.a, 0, a, 0, size);
4343 if (a.length > size)
4344 a[size] = null;
4345 return a;
4346 }
4347
4348 @Override
4349 public E get(int index) {
4350 return a[index];
4351 }
4352
4353 @Override
4354 public E set(int index, E element) {
4355 E oldValue = a[index];
4356 a[index] = element;
4357 return oldValue;
4358 }
4359
4360 @Override
4361 public int indexOf(Object o) {
4362 E[] a = this.a;
4363 if (o == null) {
4364 for (int i = 0; i < a.length; i++)
4365 if (a[i] == null)
4366 return i;
4367 } else {
4368 for (int i = 0; i < a.length; i++)
|
4329
4330 @Override
4331 public Object[] toArray() {
4332 return Arrays.copyOf(a, a.length, Object[].class);
4333 }
4334
4335 @Override
4336 @SuppressWarnings("unchecked")
4337 public <T> T[] toArray(T[] a) {
4338 int size = size();
4339 if (a.length < size)
4340 return Arrays.copyOf(this.a, size,
4341 (Class<? extends T[]>) a.getClass());
4342 System.arraycopy(this.a, 0, a, 0, size);
4343 if (a.length > size)
4344 a[size] = null;
4345 return a;
4346 }
4347
4348 @Override
4349 public <T> T[] toArray(IntFunction<T[]> generator) {
4350 T[] r = generator.apply(a.length);
4351 System.arraycopy(a, 0, r, 0, a.length);
4352 return r;
4353 }
4354
4355 @Override
4356 public E get(int index) {
4357 return a[index];
4358 }
4359
4360 @Override
4361 public E set(int index, E element) {
4362 E oldValue = a[index];
4363 a[index] = element;
4364 return oldValue;
4365 }
4366
4367 @Override
4368 public int indexOf(Object o) {
4369 E[] a = this.a;
4370 if (o == null) {
4371 for (int i = 0; i < a.length; i++)
4372 if (a[i] == null)
4373 return i;
4374 } else {
4375 for (int i = 0; i < a.length; i++)
|