【问题标题】:Moving around items in an ArrayList在 ArrayList 中移动项目
【发布时间】:2016-06-14 14:17:47
【问题描述】:

假设我有一个 ArrayList 名称列表

Item 1
Item 2
Item 3
Item 4
Item 5
Item 6

我该怎么做: 将项目 2 移动到索引 3

Item 1
Item 3
Item 4
Item 2
Item 5
Item 6

【问题讨论】:

标签: java


【解决方案1】:

如果您知道要交换的元素的索引,则可以使用Collections.swap

Collections.swap(list,i,j);

如果不知道索引,可以使用list.indexOf(element) 获取元素的索引

【讨论】:

  • 单个swap 调用在这里是不够的;多个项目正在改变位置。
  • @yshavit 不是正在交换元素吗?
  • @yshavit 对不起,你是对的。但我的回答没有说​​明你需要多少次交换:)
【解决方案2】:

您可以使用set 方法将项目设置到列表中的任何位置,但是,它会覆盖现有项目,要执行交换,我们可以执行以下操作:

List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
System.out.println(list);
String element0 = list.get(0);
String element1 = list.get(1);
list.set(0, element1);
list.set(1, element0);
System.out.println(list);

【讨论】:

  • 如果列表长度未知怎么办?
  • 我们可以通过size()方法查看列表的长度。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-07
相关资源
最近更新 更多