Java数组vs ArrayList vs List
我试图理解数组、ArrayList和List之间的关系 假设我想通过将数组转换为ArrayList,然后转换为HashSet,然后返回到数组来删除重复项 这是如何工作的?Java数组vs ArrayList vs List,java,arrays,Java,Arrays,我试图理解数组、ArrayList和List之间的关系 假设我想通过将数组转换为ArrayList,然后转换为HashSet,然后返回到数组来删除重复项 这是如何工作的?int[]array={1,2,3,4,5}; int[] array = {1, 2, 3, 4, 5}; for(int i : array) { System.out.print(i+", "); } System.out.println(); A
int[]array={1,2,3,4,5};
int[] array = {1, 2, 3, 4, 5};
for(int i : array) {
System.out.print(i+", ");
}
System.out.println();
ArrayList myArrayList = new ArrayList();
for(int num : array) {
myArrayList.add(num);
}
System.out.println(myArrayList);
HashSet<Integer> myHashSet = new HashSet<Integer>();
for(int i = 0;i<myArrayList.size();i++) {
myHashSet.add((Integer) myArrayList.get(i));
}
System.out.println(myHashSet);
for(int i:array){
系统输出打印(i+“,”);
}
System.out.println();
ArrayList myArrayList=新建ArrayList();
for(int num:array){
myArrayList.add(num);
}
System.out.println(myArrayList);
HashSet myHashSet=新HashSet();
对于(int i=0;i
数组、ArrayList和List之间的关系
数组是使用您在问题中显示的[]
和{}
符号创建的。它不是动态分配的
列表是一个接口,它只是它的实现必须响应的方法的指南
ArrayList是列表的实现。我将查看以下链接:
数组用于基本体,如int和double。ArrayList用于对象,因此向量和用户创建的类等内容。哈希集用于更具体的实例,但通常用于将代码中的数据写入输出文件
希望能解决一些问题!数组是一个固定长度的数据结构。它是一个连续的内存块。假设您有一个长度为2的x3000数组。一个数组保持在x3000和x3001。请记住,这过于简化了概念,因为元素大小和每个内存位置的大小肯定会影响数组元素的位置(不总是在x3001处结束)
列表是一种抽象数据类型(ADT),列表和数组之间的显著差异是列表没有固定的长度。可能有更多的差异,但可能因情况而异
ArrayList是一个ADT列表,但它是使用数组实现的。这就像在处理需要使用数组构造堆栈、队列等的问题时一样。如果目标是删除重复项,则不需要创建ArrayList或哈希集,但如果您只是尝试转换,我相信java.util
你也可以有对象数组,所以你的答案是不正确的。你也不能直接比较列表和集合。这是两个独立的数学概念。列表是有序的,集合不是。列表允许重复,而集合不允许重复元素
int[] array = {1, 2, 3, 4, 5};
for(int i : array) {
System.out.print(i+", ");
}
System.out.println();
ArrayList myArrayList = new ArrayList();
for(int num : array) {
myArrayList.add(num);
}
System.out.println(myArrayList);
HashSet<Integer> myHashSet = new HashSet<Integer>();
for(int i = 0;i<myArrayList.size();i++) {
myHashSet.add((Integer) myArrayList.get(i));
}
System.out.println(myHashSet);