Java 哪些数据类型不能存储在ArrayList中

Java 哪些数据类型不能存储在ArrayList中

ArrayList是一个动态对象列表,不能存储像int、double、char或long这样的原始值。Java中包装类的创建允许持有原始数据类型,并且每个属于这些类型的对象都保存了相应原始数据类型(int、double、short或byte)的单个值。为了在Java中的结构(如JLists或ArrayLists)中使用原始数据类型,因为它们要求对象,我们需要使用包装类。本文将详细说明如何使用ArrayList来存储诸如int和char等简单数据类型。

原始数据类型不能存储在ArrayList中

Collection接口只接受对象,包括ArrayList,它是List的一种类型。只能使用对象数据类型对Collection对象进行迭代,不能使用原始数据类型。因此,无法将int存储在ArrayList中,必须先使用add()方法将它们转换为Integer。为了实现这一点,必须逐一添加每个int。

案例

ArrayList中的整数

为了将int添加到ArrayList中,必须首先将它们转换为Integer。可以使用add方法执行此任务,但是每个int必须单独添加。例如,假设有一个包含3个值的int数组。如果我们想将这些int作为Integer附加到ArrayList中,那么我们需要仔细遍历每一个int,并使用for循环操作单独将它们包括进去。再次强调一下,使用add()方法时,可以传递Integer类型的值而无需任何问题;但是,如果需要将int添加到只包含Integers的ArrayList中时,需要先进行强制转换。

示例

// Java Program that uses ArrayList of Integer Values
import java.util.ArrayList;
public class demo {
   public static void main(String[] args) {
      int[] ids = { -3, 0, 100 };
      ArrayList<Integer> values = new ArrayList<>();
      for (int id : ids) {
         values.add(id);
      }

      System.out.println(values);
      System.out.println(values.size());
      System.out.println(ids.length);
   }
}

输出

[-3, 0, 100]
3
3

使用toArray方法

它用于将ArrayList的元素复制到一个数组中。其中一种涉及强制类型转换并生成一个Object数组。但是这个变体返回一个有类型的数组。

示例

import java.util.ArrayList;
import java.util.List;
public class demo {
   public static void main(String[] args) {
      ArrayList<Integer> list = new ArrayList<>();
      list.add(7);
      list.add(8);
      list.add(9);

      Integer[] array = {};
      array = list.toArray(array);
      for (int elem : array) {
         System.out.println(elem);
      }
   }
}

输出

7
8
9

ArrayList中的字符

Java中ArrayList的char字符使用方法如下:

将它们更改为字符。

字符串的值被转换为Character ArrayList。

示例

import java.util.ArrayList;
import java.util.List;
public class demo {
   public static void main(String [] args) {
      String string = "Computer Science";
      List<Character> chars = new ArrayList<>();
      for (char ch : string.toCharArray()) {
         chars.add(ch);
      }
      System.out.println(chars);
   }
}

输出

[C, o, m, p, u, t, e, r , S, c, i, e, n, c, e]

结论

Javas的ArrayList实现提供了令人印象深刻的运行时对象存储和操作功能。然而,有些数组不能使用这种方法,并且必须以不同的方式处理。为了有效地存储特定类型的数据,程序开发人员必须认识到与这些结构相关的限制,并选择不同的存储选项。了解Java ArrayList的限制的程序员可以创建出高效和有效的软件应用程序。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程