Java ArrayList中不能存储哪种数据类型?
ArrayList是对象的动态列表,你不能在ArrayList中存储原始值,例如int、double、char或long。Java中包装类的创建允许保存原始数据类型,并且这些类型的每个对象都为其各自的原始数据类型(int、double、short或byte)保存单个值。要在像JLists或ArrayLists这样的Java结构中使用原始数据类型(这些结构需要对象),我们需要使用包装器,本文解释了如何使用ArrayList存储简单数据类型,例如int和char。
原始数据类型不能存储在ArrayList中
Collection接口只接受对象,包括ArrayList(一种List类型)。Collection对象的迭代只能使用对象数据类型完成,不能使用原始数据类型。因此,不能在ArrayList中存储int,必须首先使用add()方法将其转换为Integer。必须逐个添加每个int才能实现此目的。
案例
ArrayList中的整数
为了将int添加到ArrayList,必须先将其转换为Integer。可以使用add方法执行此任务,但是必须分别添加每个int。例如,让我们取一个包含3个值的int数组。如果要将这些int作为Integer附加到ArrayList,则需要仔细遍历每个int,并使用for循环操作分别包含它们。再次说明,在使用add()方法时,可以毫无问题地传递Integer类型的值;但是,如果需要像在这种情况下,将int添加到只包含Integer的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的char字符ArrayList的用例是
将它们更改为字符。
字符串的值被转换为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]
结论
Java的ArrayList实现为运行时对象存储和操作提供了令人印象深刻的功能。但是,某些数组不能使用此方法,必须以不同的方式处理。为了有效地将特定类型的数据存储在编程语言中,开发人员必须识别与这些结构相关的约束,并选择不同的存储选项,了解Java ArrayList的局限性的程序员可以创建高效且有效的软件应用程序。
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP