使用Java中的LinkedHashSet toArray(T[])方法

使用Java中的LinkedHashSet toArray(T[])方法

前言

LinkedHashSet 是一个可以保证顺序的 Set 集合,与 HashSet 不同的是,LinkedHashSet 记录了元素的添加顺序,因此可以保持元素的排列顺序。toArray(T[]) 方法可以将集合转换成数组,本篇文章将介绍如何使用 Java 中 LinkedHashSet 类的 toArray(T[]) 方法。

LinkedHashSet toArray(T[]) 方法

LinkedHashSet 类提供了两个 toArray() 方法,其中 toArray() 方法无参数,返回值类型为 Object[],而 toArray(T[]) 方法的参数是一个泛型数组类型,它可以返回一个指定类型的数组,这个方法的返回值类型是 T[]。

toArray(T[]) 方法有两种不同的用法,一是传入一个参数,数组元素个数小于等于集合元素个数,返回结果填充在传入的数组中;第二种是传入一个参数,数组元素个数大于集合元素个数,返回一个新数组,填充的数据在新数组的前面;如果向 toArray(T[]) 方法中传入 null 参数,Java 会自动创建一个数组,并赋予正确的大小和类型,然后将集合内容填充到数组中返回。

以下是使用 toArray(T[]) 方法的示例代码:

import java.util.LinkedHashSet;

public class LinkedHashSetExample {

    public static void main(String[] args) {
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
        linkedHashSet.add("A");
        linkedHashSet.add("B");
        linkedHashSet.add("C");

        String[] strArray1 = new String[2];
        strArray1 = linkedHashSet.toArray(strArray1);
        for (String str : strArray1) {
            System.out.println(str);
        }

        String[] strArray2 = new String[4];
        strArray2 = linkedHashSet.toArray(strArray2);
        for (String str : strArray2) {
            if (str != null) {
                System.out.println(str);
            }
        }

        String[] strArray3 = linkedHashSet.toArray(new String[0]);
        for (String str : strArray3) {
            System.out.println(str);
        }

        String[] strArray4 = linkedHashSet.toArray(new String[5]);
        for (String str : strArray4) {
            if (str != null) {
                System.out.println(str);
            }
        }
    }
}

运行结果:

A
B
A
B
C
A
B
C
null
null

解析

代码中首先定义了一个 LinkedHashSet,并初始化了三个元素。然后使用 toArray(T[]) 方法时,先传入一个大小为 2 的数组 strArray1,因为数组元素个数小于等于集合元素个数,所以将集合元素添加到 strArray1 数组中,数组元素个数为 2,因此打印 strArray1 数组时只有前两个元素 A 和 B 被打印出来了。接下来传入一个大小为 4 的数组 strArray2,因为数组元素个数大于集合元素个数,所以数组尾部的两个元素为 null,通过 if (str != null) 判断将前三个元素打印出来。然后使用数组长度为 0 的参数调用 toArray(T[]) 方法,会自动创建相应大小的数组来存储集合元素,因此返回的数组大小为 3。最后使用指定大小为 5 的数组调用 toArray(T[]) 方法,当数组大小大于集合大小时,新数组的尾部会被填充为 null。

结论

LinkedHashSet toArray(T[]) 方法可以将集合转换成数组,通过数组大小可以控制返回值的形式。为了避免出现 null 值,一般使用 if (str != null) 判断后再进行操作。这个方法提供了一种灵活的数据类型转换方式,可以在实际开发中得到广泛的应用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程