< prev index next >

src/java.base/share/classes/java/util/Arrays.java

Print this page
rev 48215 : 8060192: Add default method <A> A[] Collection.toArray(IntFunction<A[]> generator)
Reviewed-by: martin, forax, psandoz


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++)


< prev index next >