java - 从列表中删除特定索引之后和之前的所有元素
问题描述
Java中有什么方法可以从列表中删除除给定索引之外的所有元素吗?假设我们有:
List<String> foo = new ArrayList<>();
foo.add("foo0");
foo.add("foo1");
foo.add("foo2");
foo.add("foo3");
foo.add("foo4");
而且我只想保留索引为 2 (foo2) 的元素,必须删除所有其他字符串。
我需要一个方法,如:给定字符串列表和给定索引,删除索引前后该列表的所有元素 我怎样才能实现这个目标?
干杯
解决方案
foo.subList(0, 2).clear(); // after execution of that line Your index 2 object is on index 0.
foo.subList(1, foo.size()).clear();
现在您的列表foo
只包含一个最初位于索引 2 的元素。
更新 :
public void RemoveAllExceptIndex(List<String> foo,int index) {
foo.subList(0, index).clear();
foo.subList(1, foo.size()).clear();
}
推荐阅读
- powershell - 使用 powershell 在远程主机上安装 MSI
- javascript - 按下回车键而不是单击按钮时不会发生验证
- javascript - DiscordJS:文本编码问题
- android - 如何为应用程序(android 或 ios)设置适当的 cookie 选项
- java - Selenium Chrome 驱动程序在运行项目时崩溃
- html - 如何在没有垂直滚动的情况下指定屏幕的全高?
- python - 如何在系统托盘中最小化我的 PySimpleGUI 程序,同时保持程序在后台打开?
- php - 如何在 laravel 中输入所有数组并在字段下方显示验证错误
- java - 为什么优化的虚拟调用在热点 jit 程序集中指向相同的地址?
- c++ - 减去整数数组的索引的结果