成对数组,java中的ArrayList

成对数组,java中的ArrayList,java,Java,如何制作ArrayList或Pair类的数组,这是我在下面的代码中制作的 例1) import java.util.*; 类对{ 静态int优先; 静态整数秒; } 公共班机{ 公共静态void main(字符串[]args){ Vector[]v=新向量[100]();//这给了我一个错误 } } 1.为什么上面的代码会给我一个错误? 2.我的目标是创建一个向量数组,以便向量的每个索引都包含一个或多个Pair类。我怎样才能做到 另一个示例):ArrayList的数组 import java.

如何制作ArrayList或Pair类的数组,这是我在下面的代码中制作的

例1)

import java.util.*;
类对{
静态int优先;
静态整数秒;
}
公共班机{
公共静态void main(字符串[]args){
Vector[]v=新向量[100]();//这给了我一个错误
}
}
1.为什么上面的代码会给我一个错误? 2.我的目标是创建一个向量数组,以便向量的每个索引都包含一个或多个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
  }
}
import java.util.*;
公共班机{
公共静态void main(字符串[]args){
ArrayList arr=ArrayList();//我知道这行没有给出错误
ArrayList[]arr=ArrayList[500];//这给了我一个错误
}
}
3.为什么上面的代码会给我一个错误?
4.我的目标是创建一个ArrayList数组,这样数组的每个索引都有ArrayList/Queue/Vector/Deque。我怎样才能做到

一个完整的通用解决方案怎么样:

ArrayList<ArrayList<Integer>> arr = new ArrayList<ArrayList<Integer>>();
ArrayList arr=new ArrayList();

完整的通用解决方案如何:

ArrayList<ArrayList<Integer>> arr = new ArrayList<ArrayList<Integer>>();
ArrayList arr=new ArrayList();

您使用的语法不是Java使用的语法。如果要拥有ArrayList数组,请执行以下操作:

ArrayList[] arr = new ArrayList[100];

for(int i=0; i<arr.length; i++)
{
    arr[i] = new ArrayList<Pair>(); // add ArrayLists to array
}
ArrayList[]arr=新的ArrayList[100];

对于(int i=0;i而言,您使用的语法与Java使用的语法不同。如果您想拥有ArrayList数组,请执行以下操作:

ArrayList[] arr = new ArrayList[100];

for(int i=0; i<arr.length; i++)
{
    arr[i] = new ArrayList<Pair>(); // add ArrayLists to array
}
ArrayList[]arr=新的ArrayList[100];
对于(int i=0;i
publicstaticvoidmain(String[]args){
向量[]v=新向量[5];
对于(int i=0;i
publicstaticvoidmain(String[]args){
向量[]v=新向量[5];

对于(int i=0;i我对java不太了解,但您不想做:
ArrayList v=new ArrayList();

尝试在问题中分解您需要的容器。您的目标是创建一个ArrayList(好的,外部ArrayList满足此目的),其中包含一个或多个pair类。“that has”表示“ArrayList中的每个项都是此类型”。我们将使用什么来存储一个或多个
类?另一个向量/tyoe
对列表
。因此外部ArrayList中的每个项都是另一个对的ArrayList

注意:我将所有内容都移动到ArrayList,因为我了解到Vector有些不推荐使用,并且它们提供类似的函数。您可能需要检查一下


这个例子应该对你问题的下一部分有所帮助,但如果没有,请告诉我,

我对java不太了解,但你不想做:
ArrayList v=new ArrayList();

尝试在问题中分解您需要的容器。您的目标是创建一个ArrayList(好的,外部ArrayList满足此目的),其中包含一个或多个pair类。“that has”表示“ArrayList中的每个项都是此类型”。我们将使用什么来存储一个或多个
类?另一个向量/tyoe
对列表
。因此外部ArrayList中的每个项都是另一个对的ArrayList

注意:我将所有内容都移动到ArrayList,因为我了解到Vector有些不推荐使用,并且它们提供类似的函数。您可能需要检查一下


这个例子应该对你问题的下一部分有所帮助,但如果没有,请告诉我,

这个问题的可能重复不值得作为一个答案,但没有一个答案提到它。让你的成员
static
意味着Pair的每个实例都将始终具有完全相同的值…可能不是你想要的。只需删除
静态
,您就会更快乐。可能的重复不值得作为答案,但没有一个答案提到它。让您的成员
静态
意味着配对的每个实例都将始终具有完全相同的值…可能不是您想要的。只需删除
静态
,然后还有一个问题,如果我做“arr[I].添加(p)”;p.first=1,p.second=2;我如何引用arr[I]的p.first?@AdamJMTech-我对你的答案有点问题。当你创建
ArrayList
数组时,你失去了泛型的所有优势,因为不会为你进行类型检查/转换,你最好只使用
ArrayList
而不使用
ArrayList
,因为
arr[I]
不受任何类的限制。@hongtaesuk是的
“arr[i].add(p)”;p.first=1,p.second=2;
应该可以工作。@MByD我同意这就是为什么我在文章的末尾说,使用ArrayList而不是数组会更倾向于使其类型安全。但最初的问题是如何使用数组来做到这一点。如果我使用“arr[i”,还有一个问题.add(p)”;p.first=1,p.second=2;我如何引用arr[I]的p.first?@AdamJMTech-我对你的答案有点问题。当你创建
ArrayList
数组时,你失去了泛型的所有优势,因为不会为你进行类型检查/转换,你最好只使用
ArrayList
而不使用
ArrayList
,因为
arr[I]
未绑定到任何类。@hongtaesuk Yes
“arr[i].添加(p)”;p.first=1,p.second=2;
应该可以用。@MByD我同意这就是为什么我在文章的末尾说,使用ArrayList而不是数组会使它的类型更安全。但最初的问题是如何使用数组来实现它。请参阅我对AdamJMTech的评论。请参阅我对AdamJMTech的评论。完全同意。我们不应该混合使用g泛型集合和数组。顺便说一句,我们不应该使用Pair)完全同意。我们不应该混合泛型集合和数组。顺便说一句,我们不应该使用Pair)