如何创建数组的ArrayList或Pair类,我自己在下面的代码。
ex1)
import java.util.*;
class Pair{
static int first;
static int second;
}
public class Main{
public static void main(String[] args){
Vector<Pair>[] v = new Vector<Pair>[100](); //this gives me an error
}
}
1。为什么上面的代码会给我一个错误?2.我的目标是创建一个vector数组,以便vector的每个索引包含一个或多个Pair类。我怎样才能做到呢?
的另一个例子):数组的ArrayList
import java.util.*;
public class Main{
public static void main(String[] args){
ArrayList<Integer> arr = ArrayList<Integer>(); //I know this line doesn't give error
ArrayList<Integer>[] arr = ArrayList<integer>[500]; // this gives me an error
}
}
3。为什么上面的代码给我一个错误?4.我的目标是创建一个ArrayList的数组,这样array的每个索引都有ArrayList/Queue/Vector/Deque等。我怎样才能做到呢?
完整的通用解决方案如何:
ArrayList<ArrayList<Integer>> arr = new ArrayList<ArrayList<Integer>>();
您使用的语法不是Java使用的。如果你想要一个数组列表,那么执行:
ArrayList[] arr = new ArrayList[100];
for(int i=0; i<arr.length; i++)
{
arr[i] = new ArrayList<Pair>(); // add ArrayLists to array
}
这里的类型参数<Pair>
指定ArrayList应该包含Pair
类型的元素。但是您可以指定您想要使用的任何类型。对于ArrayList也是如此,您可以将示例中的ArrayList
替换为Vector
。
在示例中最好使用ArrayList而不是数组。它更容易维护,而不用担心长度和索引的变化。
public static void main(String[] args){
Vector[] v = new Vector[5];
for(int i=0;i<5;++i){
v[i]= new Vector<Pair>();
}
}
我不太懂java,但是你不想这样做吗?ArrayList<ArrayList<Pair>> v = new ArrayList<ArrayList<Pair>>();
试着在你的问题中分解你需要的容器。你的目标是创建一个ArrayList(好吧,外部的ArrayList满足这个目的),在中有一个或多个对类。"That has"的意思是"数组列表中的每个元素都是这种类型"。我们用什么来存储一个或多个Pair
类?另一个类型为Pair
的Vector/List。所以外层数组列表中的每一项都是另一个数组对列表。
注意:我把所有的东西都移到了ArrayList,因为我读到Vector有点过时了,它们提供类似的功能。你也许想看看这个。
这个例子应该有助于你的问题的下一部分,但如果没有,请告诉我,