class solution{
public List<List<Integer>> solve(int[] nums)
{
List<List<Integer>> ans = new ArrayList<List<Integer>>();
HashMap<Integer, Integer> hm = new HashMap<>();
for(int i = 0; i<nums.length; i++){
if(hm.containsKey(nums[i])){
hm.put(nums[i], hm.get(nums[i])+1);
}
else{
hm.put(nums[i], 1);
}
if(ans.size()<hm.get(nums[i])){
ans.add(new ArrayList<Integer>());
}
int row = hm.get(nums[i]) - 1;
int el = nums[i];
ans.add(row, el); //Line 18: error: incompatible types: int cannot be converted to List<Integer>
}
return ans;
}
}
字符串
当尝试将元素添加到ArrayList<ArrayList >中时,
不兼容的类型:int不能转换为List
我使用了语法obj.add(row,element);
如何在ArrayList<ArrayList >中的特定行添加元素?
2条答案
按热度按时间8yoxcaq71#
List<List<Foo>>
被视为二维(2D)List
。List<List<Foo>> myList = = new ArrayList<> ();
个在后面的代码中,假设这些元素实际上存在,以访问特定的
Foo
,则使用两个下标:字符串
这相当于:
型
如果元素存在,并且您希望在特定位置添加一个元素,则还可以使用两个下标:
型
如果
myList.get(15)
不存在,你可以创建它:型
创建和填充2D
List
的一般方法是一次创建一行,并在完成时添加每行:型
注意事项
<Integer>
作为内部类型,你可以依靠编译器使用自动装箱和取消装箱。List
的索引,索引的值必须大于或等于零,并小于或等于当前List
的size()
。add (int index, E e)
方法将 * 不 * 填充空值,如果索引的值大于size ()
。1cklez4t2#
将线路从
字符串
到
型
对于
List<List<Integer>>
,首先使用Obj.get(row)
(外部列表)访问所需的行,然后添加元素(内部列表)已经工作。