📌  相关文章
📜  Java中的 AbstractSequentialList toArray() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:49.681000             🧑  作者: Mango

Java中的 AbstractSequentialList toArray() 方法及示例

AbstractSequentialList是一个抽象类,该类继承自AbstractList类,它是一个实现了List接口和一些列表操作方法的类,但它不实现列表的任何操作,只是提供了一些基本的操作方法供子类实现。其中toArray()是其中一个方法,接下来我们将会对该方法进行详细介绍并给出一些示例。

toArray() 方法

AbstractSequentialListtoArray()方法的定义如下:

public Object[] toArray() {
    Object[] array = new Object[size()];
    Iterator<E> it = iterator();
    for (int i = 0; i < array.length; i++) {
        if (!it.hasNext())
            return Arrays.copyOf(array, i);
        array[i] = it.next();
    }
    return it.hasNext() ? finishToArray(array, it) : array;
}

该方法会将列表中的元素以Object数组形式返回,返回的数组中元素的顺序与它们在迭代器中的顺序一致。

示例

下面我们将给出一些使用toArray()方法的示例,以帮助大家更好的理解和应用该方法。

示例 1:将列表中的元素存入Object数组

import java.util.*;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("Hello");
        list.add("World");
        Object[] array = list.toArray();
        System.out.println(Arrays.toString(array));
    }
}

输出:

[Hello, World]

在该示例中,我们创建了一个ArrayList对象,并向其中添加了两个字符串。然后,我们调用toArray()方法将列表中的元素存入一个Object数组中,并使用Arrays.toString()方法打印输出该数组。

示例 2:将列表中的元素强制转换为指定类型的数组

import java.util.*;

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new LinkedList<>();
        list.add(1);
        list.add(2);
        Integer[] array = list.toArray(new Integer[0]);
        System.out.println(Arrays.toString(array));
    }
}

输出:

[1, 2]

在该示例中,我们创建了一个LinkedList对象,并向其中添加了两个整数。然后,我们调用toArray(T[] a)方法,将列表中的元素存入一个长度为0的Integer数组中。注意,由于我们并没有传入真正的数组,所以JVM会根据列表的大小自动创建一个长度为2的Integer数组,并将列表中的元素存入其中。

示例 3:将列表中的元素存入一个数组

import java.util.*;

public class Test {
    public static void main(String[] args) {
        List<Double> list = new ArrayList<>();
        list.add(1.1);
        list.add(2.2);
        Double[] array = new Double[2];
        list.toArray(array);
        System.out.println(Arrays.toString(array));
    }
}

输出:

[1.1, 2.2]

在该示例中,我们创建了一个ArrayList对象,并向其中添加了两个浮点数。然后,我们创建了一个长度为2的Double数组,调用toArray(T[] a)方法,并将其传入该数组。JVM会将列表中的元素存入该数组,并返回该数组。

总结

以上便是AbstractSequentialListtoArray()方法的详细介绍及示例。该方法可以方便地将列表中的元素存入数组,并支持将元素强制转换为指定类型的数组。如果您在使用AbstractSequentialList类时遇到了相应的问题,希望该文可以对您有所帮助。