如何将数组转为List

在Java编程中,我们常常需要将数组转换成List。这种操作非常常见,本文将介绍多种方法用于将数组转换为List。

一、如何将数组转为对象

方法1:利用Arrays.asList()方法。

    String[] strArray = { "a", "b", "c"};
    List list = Arrays.asList(strArray);

方法2:利用Collections.addAll()方法

    Integer[] intArray = { 1, 2, 3 };
    List list = new ArrayList();
    Collections.addAll(list, intArray);

二、如何将数组转为字符串

方法1:利用Arrays.toString()方法

    String[] strArray = { "a", "b", "c" };
    String str = Arrays.toString(strArray);

方法2:遍历数组并将元素拼接成字符串

    String[] strArray = { "a", "b", "c" };
    StringBuilder sb = new StringBuilder();
    for (String str : strArray) {
        sb.append(str);
    }
    String str = sb.toString();

三、如何将数组转为集合

方法1:利用Arrays.asList()方法

    Integer[] intArray = { 1, 2, 3 };
    List list = Arrays.asList(intArray);

方法2:利用Collections.addAll()方法

    Integer[] intArray = { 1, 2, 3 };
    List list = new ArrayList();
    Collections.addAll(list, intArray);

四、如何将int数组转为集合

方法1:利用Java8的Stream API

    int[] intArray = { 1, 2, 3 };
    List list = IntStream.of(intArray).boxed().collect(Collectors.toList());

方法2:利用Apache Commons Lang3包中的ArrayUtils.toObject()方法

    int[] intArray = { 1, 2, 3 };
    List list = Arrays.asList(ArrayUtils.toObject(intArray));

五、如何将数组转为树形结构

方法1:利用递归

    class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
    }

    public TreeNode arrayToTree(int[] arr, int start, int end) {
        if (start > end) {
            return null;
        }

        int mid = (start + end) / 2;
        TreeNode root = new TreeNode(arr[mid]);
        root.left = arrayToTree(arr, start, mid - 1);
        root.right = arrayToTree(arr, mid + 1, end);

        return root;
    }

方法2:利用队列

    class TreeNode {
        int val;
        TreeNode left;
        TreeNode right;
        TreeNode(int x) { val = x; }
    }

    public TreeNode arrayToTree(int[] arr) {
        if (arr == null || arr.length == 0) {
            return null;
        }

        int i = 0;
        TreeNode root = new TreeNode(arr[i]);
        Queue queue = new LinkedList();
        queue.offer(root);

        while (!queue.isEmpty()) {
            TreeNode node = queue.poll();

            if (++i < arr.length) {
                node.left = new TreeNode(arr[i]);
                queue.offer(node.left);
            }

            if (++i < arr.length) {
                node.right = new TreeNode(arr[i]);
                queue.offer(node.right);
            }
        }

        return root;
    }

六、对象转为数组

方法1:利用反射

    public Object[] toArray(Object obj) throws IllegalAccessException {
        Class clazz = obj.getClass();
        Field[] fields = clazz.getDeclaredFields();
        Object[] result = new Object[fields.length];

        for (int i = 0; i < fields.length; i++) {
            fields[i].setAccessible(true);
            result[i] = fields[i].get(obj);
        }

        return result;
    }

方法2:利用Java8的Stream API

    public Object[] toArray(Object obj) throws IllegalAccessException {
        Class clazz = obj.getClass();
        Field[] fields = clazz.getDeclaredFields();
        Object[] result = Arrays.stream(fields)
                .map(f -> {
                    f.setAccessible(true);
                    try {
                        return f.get(obj);
                    } catch (IllegalAccessException e) {
                        throw new RuntimeException(e);
                    }
                }).toArray();

        return result;
    }

七、arraylist转为数组

方法1:利用toArray()方法

    List list = new ArrayList();
    Integer[] arr = list.toArray(new Integer[0]);

方法2:利用Java8的Stream API

    List list = new ArrayList();
    Integer[] arr = list.stream().toArray(Integer[]::new);

八、怎么把数组转为字符串

方法1:利用Arrays.toString()方法

    String[] strArray = { "a", "b", "c" };
    String str = Arrays.toString(strArray);

方法2:遍历数组并将元素拼接成字符串

    String[] strArray = { "a", "b", "c" };
    StringBuilder sb = new StringBuilder();
    for (String str : strArray) {
        sb.append(str);
    }
    String str = sb.toString();

九、数组如何转为集合

方法1:利用Arrays.asList()方法

    String[] strArray = { "a", "b", "c" };
    List list = Arrays.asList(strArray);

方法2:利用Collections.addAll()方法

    String[] strArray = { "a", "b", "c" };
    List list = new ArrayList();
    Collections.addAll(list, strArray);

本文介绍了多种方法用于将数组转换为List,每种方法都有利弊。选择应该根据具体情况而定,建议多加尝试。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/253786.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 02:17
下一篇 2024-12-14 02:17

相关推荐

  • Python导入数组

    本文将为您详细阐述Python导入数组的方法、优势、适用场景等方面,并附上代码示例。 一、numpy库的使用 numpy是Python中一个强大的数学库,其中提供了非常丰富的数学函…

    编程 2025-04-29
  • Python返回数组:一次性搞定多种数据类型

    Python是一种多用途的高级编程语言,具有高效性和易读性的特点,因此被广泛应用于数据科学、机器学习、Web开发、游戏开发等各个领域。其中,Python返回数组也是一项非常强大的功…

    编程 2025-04-29
  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一个非常有用的函数,在很多的深度学习模型中都会用到。它的主要功能是将TensorFlow中的张量(Tensor)转换为P…

    编程 2025-04-29
  • Python去掉数组的中括号

    在Python中,被中括号包裹的数据结构是列表,列表是Python中非常常见的数据类型之一。但是,有些时候我们需要将列表展开成一维的数组,并且去掉中括号。本文将为大家详细介绍如何用…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • 如何将Oracle索引变成另一个表?

    如果你需要将一个Oracle索引导入到另一个表中,可以按照以下步骤来完成这个过程。 一、创建目标表 首先,需要在数据库中创建一个新的表格,用来存放索引数据。可以通过以下代码创建一个…

    编程 2025-04-29
  • Python如何将字符串1234变成数字1234

    Python作为一种广泛使用的编程语言,对于数字和字符串的处理提供了很多便捷的方式。如何将字符串“1234”转化成数字“1234”呢?下面将从多个方面详细阐述Python如何将字符…

    编程 2025-04-29
  • Python二维数组对齐输出

    本文将从多个方面详细阐述Python二维数组对齐输出的方法与技巧。 一、格式化输出 Python中提供了格式化输出的方法,可以对输出的字符串进行格式化处理。 names = [‘A…

    编程 2025-04-29
  • 如何将Java项目分成Modules并使用Git进行版本控制

    本文将向您展示如何将Java项目分成模块,并使用Git对它们进行版本控制。分割Java项目可以使其更容易维护和拓展。Git版本控制还可以让您跟踪项目的发展并协作开发。 一、为什么要…

    编程 2025-04-28
  • 如何将Python开发的网站变成APP

    要将Python开发的网站变成APP,可以通过Python的Web框架或者APP框架,将网站封装为APP的形式。常见的方法有: 一、使用Python的Web框架Django Dja…

    编程 2025-04-28

发表回复

登录后才能评论