• 技术文章 >java >java基础

    Java中aslist如何使用?

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

    作用

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

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

    实例

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    43

    44

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    82

    83

    84

    85

    86

    87

    88

    89

    90

    91

    92

    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学习网