Java数组和集合之间的转换

Java中的数组和集合是常用的数据结构。在实际开发中,我们经常需要将数组转换为集合或者将集合转换为数组。本文将详细介绍Java中如何实现数组和集合之间的转换。

数组转换为集合

将数组转换为集合可以使用java.util.Arrays类中的asList方法。下面是一个示例:

import java.util.Arrays;
import java.util.List;

public class ArrayToCollection {
    public static void main(String[] args) {
        String[] array = {"apple", "banana", "orange"};
        
        List<String> list = Arrays.asList(array);
        
        System.out.println(list);
    }
}

在上面的示例中,我们首先创建了一个包含字符串的数组array。然后使用Arrays.asList方法将数组转换为集合list。最后,我们打印出集合的内容。

输出结果为:

[apple, banana, orange]

需要注意的是,asList方法返回的是一个固定长度的集合,不支持添加或删除元素。如果需要对集合进行修改操作,可以使用ArrayList等可变长度的集合类。

集合转换为数组

将集合转换为数组可以使用java.util.List接口中的toArray方法。下面是一个示例:

import java.util.ArrayList;
import java.util.List;

public class CollectionToArray {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("apple");
        list.add("banana");
        list.add("orange");
        
        String[] array = list.toArray(new String[0]);
        
        for (String fruit : array) {
            System.out.println(fruit);
        }
    }
}

在上面的示例中,我们首先创建了一个ArrayList集合list,并向其中添加了三个字符串元素。然后使用list.toArray方法将集合转换为数组array。最后,我们使用增强for循环遍历数组,并打印出每个元素。

输出结果为:

apple
banana
orange

需要注意的是,toArray方法有多个重载版本。如果传递一个指定大小的数组作为参数,那么将使用该数组存储集合元素。否则,将创建一个新的数组存储集合元素。

结论

通过上述示例,我们学习了如何在Java中实现数组和集合之间的转换。我们可以使用Arrays.asList方法将数组转换为集合,使用List.toArray方法将集合转换为数组。在实际开发中,根据需求选择适当的数据结构,以便更方便地进行数据操作。

关系图

下面是数组和集合之间的关系图:

erDiagram
    Array --|> Collection
    Collection --|> List
    List --|> ArrayList
    List --|> LinkedList

以上关系图展示了数组和集合之间的继承关系。可以看到集合是数组的子类,而List接口是集合的子类,ArrayListLinkedListList接口的实现类。

参考资料:

  • [Java Arrays](
  • [Java Collections](
  • [Java List](