迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Java >

在 Java 中将 ArrayList 转换为 Int 数组

作者:迹忆客 最近更新:2023/05/16 浏览次数:

我们可以将原始数据类型(具有定义大小的数据类型,包括类似类型的数据,如字节、字符、短、整数等)和类对象存储在数组中。

而我们只能将类对象存储在 ArrayList 中。此外,ArrayList 具有动态长度,可以根据元素的数量增加或减少。

在本文中,我们将讨论在 Java 中将数组列表转换为 int 数组的不同方法。


在 Java 中需要将 Arraylist 转换为 Int 数组

我们可以在 ArrayList 的帮助下执行使用数组完成的所有操作。

但是 ArrayList 在执行不同的操作时相对较慢。这是因为 ArrayList 有一系列动作,如 get()put()resize() 等,所有这些都会影响 CPU 时间和内存利用率。

如果你只需要对固定大小的数据执行某些操作,则必须始终使用 Arrays 而不是 ArrayList。


在 Java 中将 Arraylist 转换为 Int 数组的方法

假设我们得到一个整数的 ArrayList。我们需要将 ArrayList 转换为 int Array。我们可以使用 for 循环、Object[] toArray() 方法、T[] toArray() 方法和 mapToInt() 方法来做到这一点。

让我们一一讨论每种方法。

使用 for 循环将 Arraylist 转换为 Int 数组

我们可以使用 for 循环手动将 ArrayList 转换为 int 数组。如果给定一个 ArrayList,我们将首先声明一个与 ArrayList 大小相同的 int 数组。

我们可以使用 size() 函数来计算 ArrayList 的大小。我们现在可以将 ArrayList 中的数据元素复制到 int 数组中。

为此,我们将使用 get() 方法和 for 循环来遍历 ArrayList 元素。我们在下面的 solve() 函数中实现了这种方法。

让我们看一下下面的代码,以了解它是如何工作的。

import java.io.*;
import java.util.List;
import java.util.ArrayList;
public class Main 
{
    public static void solve(List<Integer> nums)
    {
      int[] arr=new int[nums.size()];
      for(int i=0;i<nums.size();i++)
      {
        arr[i]=nums.get(i);  
      }
      for (int i=0;i<arr.length;i++)
      {
        System.out.println(arr[i]);
      }
    }
    public static void main(String[] args)
    {
        List<Integer> nums = new ArrayList<Integer>();
        nums.add(10);
        nums.add(20);
        nums.add(30);
        nums.add(40);
        nums.add(50);
        System.out.println("ArrayList elements");
        for (int i=0;i<nums.size();i++)
        {
            System.out.println(nums.get(i));    
        }
        System.out.println("Array elements");
        solve(nums); // ArrayList to Array Conversion
    }
}

输出:

ArrayList elements
10
20
30
40
50
Array elements
10
20
30
40
50

使用 Object[] toArray() 函数将 Arraylist 转换为 Int 数组

我们还可以使用 Object[] toArray() 函数将 ArrayList 转换为 Java 中的 int 数组。

如果给定一个 ArrayList,我们将首先构建一个 Object 对象并使用 toArray() 函数。请记住,toArray() 方法返回一个 Object 类型的数组。

为了消除这种情况,我们必须将其类型转换为所需的数据类型(在本例中为 int)以避免编译错误。我们在下面的 solve() 函数中实现了这种方法。

让我们看一下下面的代码,以了解它是如何工作的。

import java.io.*;
import java.util.List;
import java.util.ArrayList;
public class Main 
{
    public static void solve(List<Integer> nums)
    {
      Object[] obj_arr= nums.toArray();
      int[] arr=new int[nums.size()];
      for(int i=0;i<obj_arr.length;i++)
      {
        arr[i]=(int)obj_arr[i];
      }
      for (int i=0;i<arr.length;i++)
      {
        System.out.println(arr[i]);
      }
    }
    public static void main(String[] args)
    {
        List<Integer> nums = new ArrayList<Integer>();
        nums.add(10);
        nums.add(20);
        nums.add(30);
        nums.add(40);
        nums.add(50);
        System.out.println("ArrayList elements");
        for (int i=0;i<nums.size();i++)
        {
            System.out.println(nums.get(i));    
        }
        System.out.println("Array elements");
        solve(nums); // ArrayList to Array Conversion
    }
}

输出:

ArrayList elements
10
20
30
40
50
Array elements
10
20
30
40
50

使用 T[] toArray 函数将 Arraylist 转换为 Int 数组

我们还可以使用 T[] toArray() 函数将 ArrayList 转换为 Java 中的 int 数组。如果给定一个 ArrayList,我们将首先构建一个 Integer 对象并使用 toArray() 函数。

在这种方法中,如果数组不够大,则为此分配一个相同类型的新数组。我们在下面的 solve() 函数中实现了这种方法。

让我们看一下下面的代码,以了解它是如何工作的。

import java.io.*;
import java.util.List;
import java.util.ArrayList;
public class Main 
{
    public static void solve(List<Integer> nums)
    {
      Integer[] int_arr=new Integer[nums.size()];
      int_arr=nums.toArray(int_arr);
      int[] arr=new int[nums.size()];
      for(int i=0;i<int_arr.length;i++)
      {
        arr[i]=int_arr[i];
      }
      for (int i=0;i<arr.length;i++)
      {
        System.out.println(arr[i]);
      }
    }
    public static void main(String[] args)
    {
        List<Integer> nums = new ArrayList<Integer>();
        nums.add(10);
        nums.add(20);
        nums.add(30);
        nums.add(40);
        nums.add(50);
        System.out.println("ArrayList elements");
        for (int i=0;i<nums.size();i++)
        {
            System.out.println(nums.get(i));    
        }
        System.out.println("Array elements");
        solve(nums); // ArrayList to Array Conversion
    }
}

输出:

ArrayList elements
10
20
30
40
50
Array elements
10
20
30
40
50

使用 mapToInt() 函数将 Arraylist 转换为 Int 数组

我们还可以将 ArrayList 转换为 Java 中的 int 数组,方法是将列表中的 streams() 方法与 mapToInt() 函数相结合,该函数将 ArrayList 中的数据转换为原始整数值。这是一种将 ArrayList 转换为可从 Java 8 开始访问的整数数组的新方法。

如果给定一个 ArrayList,我们将首先在提供的 ArrayList 上调用 stream() 函数。之后,我们将调用 mapToInt() 方法,该方法返回一个包含结果的整数流。

之后,我们将调用 toArray() 方法,它将提取的结果转换为 int 数组。我们在下面的 solve() 函数中实现了这种方法。

让我们看一下下面的代码,以了解它是如何工作的。

import java.io.*;
import java.util.List;
import java.util.ArrayList;
public class Main 
{
    public static void solve(List<Integer> nums)
    {
      int[] arr = nums.stream().mapToInt(i -> i).toArray();
      for (int i=0;i<arr.length;i++)
      {
        System.out.println(arr[i]);
      }
    }
    public static void main(String[] args)
    {
        List<Integer> nums = new ArrayList<Integer>();
        nums.add(10);
        nums.add(20);
        nums.add(30);
        nums.add(40);
        nums.add(50);
        System.out.println("ArrayList elements");
        for (int i=0;i<nums.size();i++)
        {
            System.out.println(nums.get(i));    
        }
        System.out.println("Array elements");
        solve(nums); // ArrayList to Array Conversion
    }
}

输出:

ArrayList elements
10
20
30
40
50
Array elements
10
20
30
40
50

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Java 中延迟几秒钟的时间

发布时间:2023/12/17 浏览次数:217 分类:Java

本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。

如何在 Java 中把 Hashmap 转换为 JSON 对象

发布时间:2023/12/17 浏览次数:187 分类:Java

它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。

如何在 Java 中按值排序 Map

发布时间:2023/12/17 浏览次数:171 分类:Java

本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map 进行排序,并列出了一些示例代码来理解它。

如何在 Java 中打印 HashMap

发布时间:2023/12/17 浏览次数:192 分类:Java

本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。

在 Java 中更新 Hashmap 的值

发布时间:2023/12/17 浏览次数:146 分类:Java

本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。

Java 中的 hashmap 和 map 之间的区别

发布时间:2023/12/17 浏览次数:79 分类:Java

本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,

在 Java 中获取用户主目录

发布时间:2023/12/17 浏览次数:218 分类:Java

这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。

Java 中 size 和 length 的区别

发布时间:2023/12/17 浏览次数:179 分类:Java

这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。

Java 中的互斥锁

发布时间:2023/12/17 浏览次数:111 分类:Java

了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便