返回

Java面试题:循环删除 List 中的元素

发布时间:2023-02-15 03:33:05 298
# java# java

(目录)

一、需求

删除list中的元素 Jack

模板代码

package com.example;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Demo {
    public static void main(String[] args) {

        List list = new ArrayList<>(Arrays.asList("Tom", "Jack", "Steve"));

        System.out.println(list);
        // [Tom, Jack, Steve]

        // 删除元素操作

        System.out.println(list);
        // [Tom, Steve]
    }
}

二、循环删除元素

使用for循环倒序删除

int length = list.size();
// 下标范围 [0, length - 1]
for (int i = length - 1; i >= 0; i--) {
    System.out.println(i);
    if ("Jack".equals(list.get(i))) {
        list.remove(i);
    }
}

三、先查找,再删除

开发中,避免在循环中删除元素,采用的是先查找,再删除,逻辑更清晰

// 先查找,再删除
int index = list.indexOf("Jack");
if (index > -1) {
    list.remove(index);
}

四、使用removeIf

JDK1.8可以使用removeIf

// @since 1.8
list.removeIf(x -> "Jack".equals(x));

五、使用Stream.filter

// @since 1.8
list = list.stream()
        .filter(x -> !"Jack".equals(x))
        .collect(Collectors.toList());

参考 带了一个 3 年的开发,不会循环删除 List 中的元素,心态崩了

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
Spring—Spring MVC 全解析 2023-02-15 03:07:39