我想将树状图添加到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 - 在循环中将 TreeMap 添加到 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38805418/