📜  Java中的 SortedSet toArray() 方法及示例(1)

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

Java中的SortedSettoArray()方法及示例

在Java中,SortedSet toArray()方法是将SortedSet实例转化为数组的方法。SortedSet.toArray()方法可以将SortedSet中的元素转化为一个数组,并返回该数组。这个方法有两种重载形式,一种返回Object类型的数组,另一种返回指定类型的数组。在本文中,我们将会深入探讨这个方法的基本概念、用法和示例。

SortedSet toArray()方法基本概念

我们可以使用SortedSet toArray()方法将SortedSet集合中的元素放置到数组中。该方法在实现中略有不同,具取决于数组的数据类型和SortedSet集合存储的数据类型。例如,当SortedSet的元素类型为String类型时,该方法的返回值为String[],而当SortedSet的元素类型为Integer类型时,该方法的返回值为Integer[]。

以下是SortedSet toArray()方法的基本语法:

Object[] toArray()
<T> T[] toArray(T[] a)
SortedSet toArray()方法用法

以下是SortedSet toArray()方法的用法:

Object[] toArray()

当使用SortedSet.toArray()方法时,它将返回一个包含SortedSet集合中所有元素的Object数组。例如:

SortedSet<Integer> set = new TreeSet<>();
set.add(1);
set.add(2);
set.add(3);

Object[] array = set.toArray();

在上面的示例中,我们将SortedSet集合中的元素转换为Object类型的数组。要注意,toArray()方法返回的是Object数组,因此需要将其转换为相应类型的数组。在这种情况下,我们可以通过使用强制类型转换将其转换为整数数组:

int[] intArray = Arrays.stream(array).mapToInt(o -> (int) o).toArray();
T[] toArray(T[] a)

可以使用SortedSet.toArray(T[] a)方法将SortedSet集合的元素转换为指定类型的数组。例如:

SortedSet<String> set = new TreeSet<>();
set.add("hello");
set.add("world");

String[] array = set.toArray(new String[set.size()]);

在上面的示例中,我们将SortedSet集合中的元素转换为String类型的数组。此外,我们还指定了String数组的大小,并将其传递给toArray()方法。如果在传递数组时,指定的数组大小小于SortedSet集合的大小,则会抛出ArrayIndexOutOfBoundsException异常。如果指定的数组大小大于SortedSet集合的大小,则剩余的数组空间将被置为null。

SortedSet toArray()方法示例

以下是一个演示如何使用SortedSet toArray()方法的完整示例代码:

import java.util.Arrays;
import java.util.SortedSet;
import java.util.TreeSet;

public class SortedSetExample {
    public static void main(String args[]) {
        SortedSet<Integer> set = new TreeSet<>();
        set.add(1);
        set.add(2);
        set.add(3);
        
        //Object[] toArray()
        Object[] objectArray = set.toArray();
        int[] intArray = Arrays.stream(objectArray).mapToInt(o -> (int) o).toArray();
        System.out.println("Object array: " + Arrays.toString(objectArray));
        System.out.println("Integer array: " + Arrays.toString(intArray));
        
        // <T> T[] toArray(T[] a)
        SortedSet<String> set2 = new TreeSet<>();
        set2.add("hello");
        set2.add("world");

        String[] stringArray = set2.toArray(new String[set2.size()]);
        System.out.println("String array: " + Arrays.toString(stringArray));
    }
}

输出:

Object array: [1, 2, 3]
Integer array: [1, 2, 3]
String array: [hello, world]

如上所示,SortedSet toArray()方法可用于将SortedSet集合中的元素转化为数组,并返回该数组。它提供了灵活的选项来指定返回类型和数组元素类型,并具有一些实际的用例,如将SortedSet集合元素转换为Java数组。