list集合移除元素
时间: 2023-09-26 10:12:12 浏览: 75
删除数组元素
要移除list集合中的元素,可以使用以下几种方式:
方式一:使用迭代器Iterator。通过迭代器顺序向下遍历list,如果找到要移除的元素,则使用remove方法进行移除。例如:
```
List<String> list = new ArrayList<>();
list.add("赵云");
list.add("黄忠");
list.add("马超");
list.add("关羽");
list.add("张飞");
Iterator<String> it = list.iterator();
while(it.hasNext()){
String str = it.next();
if("关羽".equals(str)){
it.remove();
}
}
System.out.println(list);
```
方式二:倒序遍历list。通过for循环从最后一个元素开始倒序遍历list,如果找到要移除的元素,则使用remove方法进行移除,并进行索引的自减操作。例如:
```
List<String> list = new ArrayList<>();
list.add("赵云");
list.add("黄忠");
list.add("马超");
list.add("关羽");
list.add("张飞");
for (int i = list.size() - 1; i >= 0; i--) {
if("关羽".equals(list.get(i))){
list.remove(i);
}
}
System.out.println(list);
```
方式三:正序遍历list。通过for循环从第一个元素开始正序遍历list,如果找到要移除的元素,则使用remove方法进行移除,并进行索引的自减操作。例如:
```
List<String> list = new ArrayList<>();
list.add("赵云");
list.add("黄忠");
list.add("马超");
list.add("关羽");
list.add("张飞");
for (int i = 0; i < list.size(); i++) {
if("关羽".equals(list.get(i))){
list.remove(i);
i--;
}
}
System.out.println(list);
```
方式四:使用Stream流操作。通过使用jdk1.8新增的Stream流操作,可以使用filter方法将不需要移除的元素筛选出来,从而得到移除元素后的list集合。例如:
```
List<String> list = new ArrayList<>();
list.add("赵云");
list.add("黄忠");
list.add("马超");
list.add("关羽");
list.add("张飞");
list = list.stream().filter(str -> !"关羽".equals(str)).collect(Collectors.toList());
System.out.println(list);
```
以上是几种常用的移除list集合元素的方式。根据具体需求,可以选择适合的方式进行操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [List移除元素的四种方式](https://blog.csdn.net/qq_58148854/article/details/131596870)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文