当前位置: 首页 > 面试题库 >

从ArrayList中删除多个元素

温成济
2023-03-14
问题内容

我有一堆索引,我想从中删除这些索引中的元素ArrayList。我无法做一个简单的remove()s 序列,因为每次移除后元素都会移动。我该如何解决?


问题答案:

按降序对索引进行排序,然后将其一一删除。如果这样做,删除将不会影响以后要删除的任何索引。

如何对它们进行排序将取决于您用来存储索引的集合。如果是列表,则可以执行以下操作:

List<Integer> indices;
Collections.sort(indices, new Comparator<Integer>() {
   public int compare(Integer a, Integer b) {
      //todo: handle null
      return b.compareTo(a);
   }
}

编辑

@aioobe找到了我找不到的助手。除了上述内容,您还可以使用

Collections.sort(indices, Collections.reverseOrder());


 类似资料:
  • 我有一个假设,它有8个项目A-H,现在我想从中删除存储在int数组中的1,3,5位置项目。我该怎么做。 我正试着和你一起做这件事 但在数组的第一个被删除的项被更改之后,在下一次迭代中它删除了错误的元素或给出异常。

  • 它返回-1,因为它在ArrayList中找不到ID,我只需要获取ID号并删除带有该ID号的整个ArrayList

  • 问题内容: 我正在使用,我想删除所有出现的特定元素。 它仅删除第一次出现的事件。但是我希望所有列表都被删除,因为我希望列表仅保留值“ second”。通过谷歌搜索发现,可以通过创建新列表并调用来实现。但是是否可以在不创建新列表的情况下删除所有出现的内容,或者是否有可用的API来实现它? 问题答案:

  • 问题内容: 如何从ArrayList中删除重复的元素? 问题答案: 如果你不想在中添加重复项,则应考虑为什么要使用允许重复项的。删除重复元素的最简单方法是将内容添加到中(不允许重复),然后将其添加Set回中ArrayList: 当然,这会破坏中的元素顺序。

  • 我自动出了问题!!我不知道出了什么问题!你能帮我写这段代码吗?我想从用户那里删除元素中的一个元素!示例:<代码>删除元素: 5它必须自动删除它从用户那里键入的元素!但是在我的代码中,元素不会被删除!你能帮我吗?