java - 如何从kotlin中的列表中删除一些元素

标签 java arrays json kotlin gson

我遇到了如何删除与某些参数不匹配的元素的问题。例如,我有两个数据类:First 和 Second 第一个包含第二个的属性,即城市、价格等:

data class Properties(val city: String, val day: Int, val month: Int, val yearProp: Int, val dayEnd: Int, val monthEnd: Int, val yearEndProp: Int, val priceFrom: Int, val priceTo: Int)

Item 的第二个数据类:

data class Product(var title: String, var price: String, var photoId : String)

我正在通过来自 json 的代码解析产品的数据:

val gson = GsonBuilder().setPrettyPrinting().create()
val inputStream : Reader = context.getResources().openRawResource(R.raw.products).reader()
var productList: ArrayList<Product> = gson.fromJson(inputStream, object : TypeToken<List<Product>>() {}.type)
productList.forEach { println(it) }

这是 JSON 文件:

[
    {
        "city": "New York",
        "title": "Banana",
        "price": "$1,99"
        "photoId": "someurl"
    },
    {
        "city": "New York",
        "title": "Strawberry",
        "price": "$1,99"
        "photoId": "someurl"
    },
    {
        "city": "Philadelphia",
        "title": "Banana",
        "price": "$4,99"
        "photoId": "someurl"
    }
]

所以,我想过滤一下。如果用户匹配“纽约”,则列表中必须只有带有“城市”:“纽约”的项目。是的,这只是一个例子,不要注意我在那里写的所有愚蠢的东西 :D

或者我应该在添加项目时过滤项目吗?但如果是这样,那么该怎么做呢?

最佳答案

这是一个从列表中删除具有特定条件的项目的示例。此示例从整数列表中删除偶数。

var myLists = mutableListOf(1,2,3,4,5,6,7,8,9)
myLists.removeAll{ it % 2 == 0 }
println(myLists)

打印:

[1, 3, 5, 7, 9]

关于java - 如何从kotlin中的列表中删除一些元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48946660/

相关文章:

python - 成对映射 numpy 数组

php - 在 Get_Where 查询中匹配 JSON 字段(Code Igniter)

jquery - 如何转义 JSON 字符串中的 unicode 语法 (u'foo')?

Python jsonschema 无法验证字符串枚举

java - 我如何以 struts 迭代器生成的单个表单调用多个操作

java - 如何使用 objectify 确保 Appengine 实体上的并发请求的一致性?

java - 如何从 FireBase 下载特定项目,但不是所有项目列表?

java - 如何通过 DIIOP 获取 SSL Domino session

php - 匹配字符串中的连字符以生成数组输出

c++ - 将字符串存储在没有空字符的字符数组中