java - 直接从Array中删除元素

标签 java arrays list collections

我有一个如下所示的数组:

PersonClass[] person= {
            new PersonClass("90234234434", "John", "Smith", 22, "Street 22/5", 10//this is priority from 0 up to 10),
            ...
            ...
    };

然后我搜索以 98 开头的安全 ID

for(int n = 0; n < person.length; n++)
    {
        if(person[n].getSecId().contains("98"))
        {
            System.out.println(person[n].toString());s
            //delete this object from person array
        }
    }

现在我的问题是:我可以直接从数组中删除这个对象吗?如果不是,我如何将它转换为集合,例如。数组列表。

最佳答案

如果您使用的是 Java 8,您可以使用:

person = Arrays.stream(person)
           .filter(p -> !p.getSecId().startsWith("98")) // note the not ! here
           .toArray(PersonClass[]::new);

另一件事:

Then I search for security ID that starts from 98

在这种情况下,您可以将 contains 替换为 startsWith 以仅检查第一个字符。

关于java - 直接从Array中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54615895/

相关文章:

java - 当需要多线程时,如何在Java中使用List类?

java - 有点像java/android中的动态函数

java - 线程 : start, 挂起、恢复

java - 震动 : Mathematical conditional spec

javascript - 将数组转换为集合以便在 NodeJS 中搜索是否值得

python - 与列表中的前缀和后缀单词匹配并返回包含所有链接单词的字符串

java - Repaint() 未调用 JComponent 类中的paintComponent()

java - 如何在 Spring Boot 中获取 log4j2.properties 文件以从 pom.xml 读取文件名

c - 在 C 中初始化数组时出错

css - Django 列表不使用 css