我希望我的代码从包含重复内容的现有ArrayList(pinyinArrayList)创建唯一项目的ArrayList(uniquePinyinArrayList)。在ArrayList中创建唯一项目的ArrayList
的“的println”命令不执行(我认为当重复从pinyinArrayList在uniquePinyinArrayList发现他们应该做的)
fun uniquePinyinArray(pinyinArrayList: ArrayList<String>) {
val uniquePinyinArrayList = ArrayList<String>()
for(currentPinyin in pinyinArrayList){
if (currentPinyin in uniquePinyinArrayList){
// do nothing
println("already contained"+currentPinyin)
println("uniquePinyin"+uniquePinyinArrayList)
}
else {
uniquePinyinArrayList.add(currentPinyin)
}
}
}
我也曾尝试
if (uniquePinyinArrayList.contains(currentPinyin)){
,虽然这也没有奏效。
编辑: 这个方法实际上是从我的源单词列表中的每个单词运行的,因此创建了多个ArrayList。为了解决这个问题,我在这个循环之外为uniquePinyin创建了一个单独的ArrayList对象。事情现在按预期工作!
回到原来的问题,为什么你的代码不工作 - 不知道,它打印已包含的语句正如我所预期的那样。 – zsmb13
编辑我的问题来解释为什么 - 哎呀! – Idios