array of pair, ArrayList in java



如何创建数组的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有点过时了,它们提供类似的功能。你也许想看看这个。

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

最新更新