【问题标题】:Java, ArrayList Filtering StringJava,ArrayList过滤字符串
【发布时间】:2018-09-18 14:31:54
【问题描述】:

我正在尝试过滤一个 ArrayList,它是两个对象,每个对象是一个字符串块,这是 ArrayList 的值:

[DataItem {
    ItemId='324e9c2b-2db0-407b-9ec8-66b707b2047f',
    SortPosition='2',
    Rname"Domino's Pizza",
    LatLat'sf_photo',
    LomgLong'1',
    Neighborhood 'flipstreet',
    Category 'fast-food',
    Address'Taif Street, Dhahrat Laban, Riyadh 12564'
 }, //there is a comma in this line to separate between the two objects
 DataItem {
     ItemId='e8b0e814-f9e0-4eb8-ae2f-b118f6b4e55d', 
     SortPosition='6', 
     Rname'بيت الشواية', 
     LatLat'sf_photo',
     LomgLong'1', 
     Neighborhood 'takhassusi', 
     Category 'Arabian', 
     Address '2506 Bilal Ibn Rabah, Tuwaiq, Riyadh 14921'
 }
]

请注意,{} 中的任何内容都被视为字符串,所以我的问题是,如何过滤掉其中包含 Flipstreet 邻居的对象?在这种情况下,它只会是对象一。

【问题讨论】:

  • 对象是 JSON 格式吗?
  • 您似乎希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在发布者已经尝试自己解决问题时才提供帮助。展示这项工作的一个好方法是包含您迄今为止编写的代码、示例输入(如果有的话)、预期输出和您实际获得的输出(控制台输出、回溯等)。您提供的详细信息越多,您可能收到的答案就越多。检查FAQHow to Ask
  • 感谢您的回答,但我是 java 新手,所以如果您有一个线程可以告诉我,我会很高兴,因为我不知道如何处理这种情况
  • 如果你是新手,那么你先解决一个简单的问题,然后增加复杂性,最终你也能解决这个问题。

标签: java arrays string arraylist filtering


【解决方案1】:

如果数组的内容不是 JSON 字符串,那么您可以选择以下方法。

第 1 步:访问单个数组元素并将其存储在字符串中。 第 2 步:使用 String API 检查字符串是否包含“Neighborhood 'flipstreet'”,如果是,则输出该元素,否则继续下一个字符串。

以下是 Java 示例代码。

公共类示例代码 {

public static void main(String[] args) {
    String[] dataItems = {"DataItem {"
            + "ItemId='324e9c2b-2db0-407b-9ec8-66b707b2047f',"
            + "SortPosition='2',"
            + "Rname \"Domino's Pizza\","
            + "LatLat'sf_photo',"
            + "LomgLong'1',"
            + "Neighborhood 'flipstreet',"
            + "Category 'fast-food',"
            + "Address'Taif Street, Dhahrat Laban, Riyadh 12564'}",
            "DataItem    {"
            + "ItemId='e8b0e814-f9e0-4eb8-ae2f-b118f6b4e55d',"
            + "SortPosition='6',"
            + "Rname'بيت الشواية',"
            + "LatLat'sf_photo',"
            + "LomgLong'1',"
            + "Neighborhood 'takhassusi',"
            + "Category 'Arabian',"
            + "Address '2506 Bilal Ibn Rabah, Tuwaiq, Riyadh 14921'"
            + "}"
    };

    String srchString="Neighborhood 'flipstreet'";

    for(String dataNode : dataItems) {
        if(dataNode.contains(srchString)){
            System.out.println(dataNode);
        }
    }
}

}

注意:这是解决方案之一,可能不是有效的解决方案!

【讨论】:

    猜你喜欢
    • 2018-05-05
    • 2015-01-12
    • 2013-06-19
    • 2013-04-13
    • 2016-07-16
    • 1970-01-01
    • 2013-03-30
    • 2022-06-12
    • 2021-05-27
    相关资源
    最近更新 更多