Java中aslist如何使用?

美女程序员鼓励师

作用

1、是返回由指定数组支持的固定尺寸列表。

2、此方法返回的ArrayList并非我们常用的集合类java.util.ArrayList。ArrayList是Arrays的内部类java.util.Arrays.ArrayList。

实例

private static class ArrayList<E> extends AbstractList<E>

        implements RandomAccess, java.io.Serializable

    {

        private static final long serialVersionUID = -2764017481108945198L;

        private final E[] a;

 

        ArrayList(E[] array) {

            a = Objects.requireNonNull(array);

        }

 

        @Override

        public int size() {

            return a.length;

        }

 

        @Override

        public Object[] toArray() {

            return a.clone();

        }

 

        @Override

        @SuppressWarnings("unchecked")

        public <T> T[] toArray(T[] a) {

            int size = size();

            if (a.length < size)

                return Arrays.copyOf(this.a, size,

                                     (Class<? extends T[]>) a.getClass());

            System.arraycopy(this.a, 0, a, 0, size);

            if (a.length > size)

                a[size] = null;

            return a;

        }

 

        @Override

        public E get(int index) {

            return a[index];

        }

 

        @Override

        public E set(int index, E element) {

            E oldValue = a[index];

            a[index] = element;

            return oldValue;

        }

 

        @Override

        public int indexOf(Object o) {

            E[] a = this.a;

            if (o == null) {

                for (int i = 0; i < a.length; i++)

                    if (a[i] == null)

                        return i;

            } else {

                for (int i = 0; i < a.length; i++)

                    if (o.equals(a[i]))

                        return i;

            }

            return -1;

        }

 

        @Override

        public boolean contains(Object o) {

            return indexOf(o) != -1;

        }

 

        @Override

        public Spliterator<E> spliterator() {

            return Spliterators.spliterator(a, Spliterator.ORDERED);

        }

 

        @Override

        public void forEach(Consumer<? super E> action) {

            Objects.requireNonNull(action);

            for (E e : a) {

                action.accept(e);

            }

        }

 

        @Override

        public void replaceAll(UnaryOperator<E> operator) {

            Objects.requireNonNull(operator);

            E[] a = this.a;

            for (int i = 0; i < a.length; i++) {

                a[i] = operator.apply(a[i]);

            }

        }

 

        @Override

        public void sort(Comparator<? super E> c) {

            Arrays.sort(a, c);

        }

    }

以上就是Java中aslist的使用,希望对大家有所帮助。更多Java学习指路:Java基础

本教程操作环境:windows7系统、java10版,DELL G3电脑。

以上是 Java中aslist如何使用? 的全部内容, 来源链接: utcz.com/z/544220.html

回到顶部