如何将数组列表中的特定项移动到第一项
2022-08-31 12:35:38
例如:列表
A B C D E
给定 C ,切换到
C A B D E
请注意,数组大小将更改,某些项目可能会在运行时删除
Collections.swap(url, url.indexOf(itemToMove), 0);
这个语句不起作用,因为它输出 C B A D E 而不是 C A B D E ,如何解决它?
谢谢。
例如:列表
A B C D E
给定 C ,切换到
C A B D E
请注意,数组大小将更改,某些项目可能会在运行时删除
Collections.swap(url, url.indexOf(itemToMove), 0);
这个语句不起作用,因为它输出 C B A D E 而不是 C A B D E ,如何解决它?
谢谢。
您想要的是.它需要将列表开头和向下位置之间的每个元素移一个。ArrayList
C
但是,如果您真的想这样做:
int index = url.indexOf(itemToMove);
url.remove(index);
url.add(0, itemToMove);
如果这对您来说是一个频繁的操作,并且随机访问的频率相当低,则可以考虑切换到另一个实现,例如 。如果您非常关心元素的顺序,则还应该考虑列表是否是正确的数据结构。List
LinkedList
请执行下列操作:
ArraylistObj.remove(object);
ArrayListObj.add(position, Object);
根据您的代码,请使用此:
url.remove("C");
url.add(0,"C");