【问题标题】:Kotlin array check valuesKotlin 数组检查值
【发布时间】:2020-04-29 22:39:34
【问题描述】:
 val finallist: ArrayList<String> = arrayListOf()
 for(element in 1 until list.size){
     if(list[element] != list[element - 1]){
         finallist.add(list[element])
     }
 }

如何检查一个值是否等于数组中的任何值?这样我只能从前一个元素中检查

【问题讨论】:

  • valueToCheck in listlist.contains(valueToCheck)

标签: android arrays listview kotlin


【解决方案1】:

有很多方法可以检查数组列表中是否存在值

使用 Kotlin 检查打击代码以检查 arraylist 是否包含值

val arrayList= listOf<String>("A","B","C","D","E")
    val value="B"
    //using contain method
    if(arrayList.contains(value)){
        Log.i("Check_Value","true: Contain method")
    }

    //using for loop
    for(item in arrayList){
        if(item.equals(value)){
            Log.i("Check_Value","True for loop")
        }
    }

检查并删除数组列表中的重复值

 val arrayList= listOf<String>("A","B","C","D","E","A","A","E")
    val newArrayList=ArrayList<String>()
    //using for loop
    for(item in arrayList){
        if(!newArrayList.contains(item)){
            newArrayList.add(item)
        }else{
            Log.i("Check_Duplicate_values","-- ${item}")
        }
    }
    Log.i("final_List","-- ${newArrayList}")

结果: I/Check_Duplicate_values: -- A

I/Check_Duplicate_values:--A

I/Check_Duplicate_values:--E

I/final_List: -- [A, B, C, D, E]

【讨论】:

  • 检查值是否等于“B”我需要知道的是数组中的任何值是否相同
【解决方案2】:
    val finallist: ArrayList<String> = arrayListOf()
        var i=0
        var j=0
        while(i <list.size){
            while(j<list.size){
                if(list[i] != list[j])
                    j++
if(i==j)
                j++
            else break}
            if(j!=list.size)
       finallist.add(list[i]) 
        i++}

【讨论】:

  • 使应用停止,没有任何响应
  • 这取决于list.size,检查你的列表
  • 像什么?大小取决于我从数据库中获得多少值
  • 有个小bug,我修改了
猜你喜欢
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
相关资源
最近更新 更多