【发布时间】:2019-08-20 09:35:19
【问题描述】:
Java 中是否有任何方法可以从 List 中删除除给定索引之外的所有元素?假设我们有:
List<String> foo = new ArrayList<>();
foo.add("foo0");
foo.add("foo1");
foo.add("foo2");
foo.add("foo3");
foo.add("foo4");
我只想保留索引为 2 (foo2) 的元素,必须删除所有其他字符串。
我需要一个类似的方法:给定一个字符串列表和一个给定索引,删除该列表中索引前后的所有元素 我怎样才能实现这个目标?
干杯
【问题讨论】:
-
您是否必须保留分配给
foo的相同List实例?列表中有重复项吗? -
获取该元素并删除列表不是更容易吗?
-
是的,我没有任何重复项,我需要一种方法,在给定索引的情况下从给定列表中删除所有元素
-
虽然问题要求第一个元素,但答案在这里是索引参数化的:stackoverflow.com/q/3099527/4636715 它可能会有所帮助。
-
Collections.swap(foo, 0, 2); foo.subList(1, foo.size()).clear();
标签: java arrays arraylist java-8 indexof