在循环中将 TreeMaps 添加到 ArrayList
adding TreeMaps to ArrayList in loop
我想将树图添加到 java 中的数组列表中。这是我正在做的事情:
ArrayList al=new ArrayList();
for(int i=0;i<n;i++)
{
al.add(new TreeMap());
}
当我尝试将键值对添加到树状图时:
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
al.get(i).put(j,(arr[j]-arr[i]));
}
}
编译器报错如下:
error description
有人可以帮帮我....
谢谢
这个问题与What is a raw type and why shouldn't we use it?不同,因为这里我不是要求解释原始类型或泛型,而是要求解决错误。
您需要使用泛型。
ArrayList<TreeMap> al=new ArrayList<TreeMap>();
for(int i=0;i<n;i++)
{
al.add(new TreeMap());
}
或者你必须进行铸造。泛型是更好的选择。
说明:
如果你使用 ArrayList al=new ArrayList();
这意味着对象的数组列表。但是当您尝试将键值对添加到地图时,您首先会得到您的情况下的对象,这是对象类型。要将其用作树图,您需要将其转换为 TreeMap。
如果您使用 ArrayList<TreeMap> al=new ArrayList<TreeMap>();
那么在获取数组条目时您会直接获取 TreeMap。
我想将树图添加到 java 中的数组列表中。这是我正在做的事情:
ArrayList al=new ArrayList();
for(int i=0;i<n;i++)
{
al.add(new TreeMap());
}
当我尝试将键值对添加到树状图时:
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
al.get(i).put(j,(arr[j]-arr[i]));
}
}
编译器报错如下: error description
有人可以帮帮我.... 谢谢
这个问题与What is a raw type and why shouldn't we use it?不同,因为这里我不是要求解释原始类型或泛型,而是要求解决错误。
您需要使用泛型。
ArrayList<TreeMap> al=new ArrayList<TreeMap>();
for(int i=0;i<n;i++)
{
al.add(new TreeMap());
}
或者你必须进行铸造。泛型是更好的选择。
说明:
如果你使用 ArrayList al=new ArrayList();
这意味着对象的数组列表。但是当您尝试将键值对添加到地图时,您首先会得到您的情况下的对象,这是对象类型。要将其用作树图,您需要将其转换为 TreeMap。
如果您使用 ArrayList<TreeMap> al=new ArrayList<TreeMap>();
那么在获取数组条目时您会直接获取 TreeMap。