我尝试编写代码,删除Arraylist中的所有元素而不使用clear()和remove()。或类ArrayList
中的任何内容查看我的代码:
for (int i=0 ; i<a.size(); i++)
a.get(i) =null ;
但我有一个错误:
作业的左侧必须是变量
任何想法?
答案 0 :(得分:1)
a.get()将返回值而不是引用持有者,即&#34; =&#34;的左手操作数。 operator应该是一些变量,它可以保存equals运算符的右手表达式给出的结果。
内部ArrayList将在其实现中包含每个元素,并且不使用Collection的Arraylist API,即remove()
或clear()
,您将无法删除其任何项目。
答案 1 :(得分:1)
首先,将其设置为null不会删除该元素。相反,它只会将其设置为值为null的元素。
如果您要删除该元素,应使用删除。或清楚,对所有人来说。
如果您希望将它们设为null,请使用a.set(i, null)