• 技术文章 >java >java基础

    Java中aslist如何使用?

    小妮浅浅小妮浅浅2021-06-28 09:58:56原创2947

    作用

    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
    上一篇:Java集合框架Arrays的介绍 下一篇:Java中copyOfRange()的范围拷贝

    相关文章推荐

    • java内存屏障有哪些类型• java volatile变量的并发操作• volatile在java禁止指令重排的分析• java中volatile变量的原理• java内部类的访问• 内部类在java多重继承的实现• java内部类的两种类型• java匿名内部类如何使用• java内部类的内存泄漏原因• java中Thread Dump是什么• java Thread的状态分析• cmd配置java环境变量• java如何创建对象数组• java集合和数组的区别• java随机打乱数组顺序

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网