如何检查数组列表是不是包含特定的字符串值? [复制]

Posted

技术标签:

【中文标题】如何检查数组列表是不是包含特定的字符串值? [复制]【英文标题】:How can I check if array list contains a particular string value? [duplicate]如何检查数组列表是否包含特定的字符串值? [复制] 【发布时间】:2020-12-30 21:18:42 【问题描述】:

如何检查我的数组列表中的 ID 数组是否包含特定字符串?我确信这个问题可能在其他地方得到了回答,但我找不到任何东西(可能是因为我没有寻找正确的问题)。

主要活动:

ArrayList<HomeJamaatItem> arrayJamaat = new ArrayList<>();

HomeJamaatItem:

public class HomeJamaatItem 

    private String ID;
    private String name;
    private String distance;
    private String fajrJamaat;
    private String zuhrJamaat;
    private String asrJamaat;
    private String maghribJamaat;
    private String eshaJamaat;

    public HomeJamaatItem(String ID, String name, String distance, String fajrJamaat, String zuhrJamaat, String asrJamaat, String maghribJamaat, String eshaJamaat) 
        this.ID = ID;
        this.name = name;
        this.distance = distance;
        this.fajrJamaat = fajrJamaat;
        this.zuhrJamaat = zuhrJamaat;
        this.asrJamaat = asrJamaat;
        this.maghribJamaat = maghribJamaat;
        this.eshaJamaat = eshaJamaat;
    

    public String getID() 
        return ID;
    

    public String getName() 
        return name;
    

    public String getDistance() 
        return distance;
    

    public String getFajr() 
        return fajrJamaat;
    

    public String getZuhr() 
        return zuhrJamaat;
    

    public String getAsr() 
        return asrJamaat;
    

    public String getMaghrib() 
        return maghribJamaat;
    

    public String getEsha() 
        return eshaJamaat;
    

我尝试使用 .contains 方法,但不幸的是,它不起作用:

if (!arrayJamaat.contains("Mcdougall")) 
   // Code

【问题讨论】:

contains() 将使用ArrayList 持有的类型进行操作。如果您的列表包含 HomeJamaatItem 类型的对象,并且您将 String 传递给该方法,它不会告诉您列表包含的任何对象的任何字段是否具有该值。但是您可以遍历列表的所有元素并检查一个或多个字段以获取您想要查找的值。 我只是使用您的问题标题进行搜索,然后将这个链接的问题作为第一个结果。 【参考方案1】:

您可以使用流。

boolean matchExists = Arrays.stream(myArray).anyMatch(x -> "Mcdougall".equals(x.getID()));

【讨论】:

【参考方案2】:

在列表上循环并检查字符串是否存在。

for(HomeJammat homejammat: arrayhomejammat)  
    if(homejammat.getId().equals("comparestring")) 
        // code
    

【讨论】:

这仅适用于您在迭代时不修改数组的情况。否则是一个很好的答案。

以上是关于如何检查数组列表是不是包含特定的字符串值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查一个字符串数组是不是包含 JavaScript 中的一个字符串? [复制]

如果数据库表格单元格的内容是一个列表,我如何检查该列表是不是包含 T-SQL 中的特定值?

检查列表是不是包含特定字符串,问题[关闭]

检查字符串是不是仅包含特定字符? [复制]

如何检查字符串是不是包含字母表中的所有字母? [复制]

php检查数组中的特定值是不是包含大于0的值[重复]