哪种数据类型不能存储在 Java ArrayList 中?
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 中的 Integer
为了将 int 添加到 ArrayList,必须先将它们转换为 Integer。可以使用 add 方法完成此任务,但是必须单独添加每个 int。例如,让我们取一个包含 3 个值的 int 数组。如果我们想将这些 int 作为 Integer 附加到 ArrayList,那么我们需要仔细遍历每个 int,并使用 for 循环操作分别添加它们。再次说明,在使用 add() 方法时,可以传递 Integer 类型值而不会出现任何问题;但是,如果在这种需要的情况下,将 int 添加到仅包含整数的 ArrayList 时,需要先进行转换,然后再添加。
示例
// 使用整数值 ArrayList 的 Java 程序
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 的元素复制到数组。其中一种方法涉及强制转换并产生一个对象数组。但此方法返回一个类型化数组。
示例
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 的 char 字符 ArrayList 的用例是:
将它们更改为字符。
字符串的值转换为字符 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]
结论
Java 的 ArrayList 实现为运行时对象存储和操作提供了令人印象深刻的功能。但是,某些数组无法使用此方法,必须以不同的方式处理。为了在编程语言中有效地存储特定类型的数据,开发人员必须认识到与此类结构相关的约束并选择不同的存储选项,了解 Java ArrayList 的局限性的程序员可以创建高效且有效的软件应用程序。
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/

