【发布时间】:2019-01-14 05:19:51
【问题描述】:
我有一个输入文件,其中每一行都是一个特殊记录。 我很乐意在文件级别工作,但可能是将文件传输到列表中的更方便的方法。 (列表中的每个对象 = 文件中的每一行) 在输入文件中,可以有多个重复行。 目标: 将给定文件/列表拆分为唯一记录和重复记录,即多次出现的记录,保留一次,其他重复部分存储在新列表中 我找到了一种删除重复项的简单方法,但从未找到存储它们的方法
File inputFile = new File("....")
inputFile.eachLine { inputList.add(it) } //fill the list
List inputList = [1,1,3,3,1,2,2,3,4,1,5,6,7,7,8,9,8,10]
inputList = inputList.unique() // remove duplicates
println inputList
// inputList = [1, 3, 2, 4, 5, 6, 7, 8, 9, 10]
输出应如下所示:两个列表/文件已删除重复项和重复项本身
inputList = [1,3,2,4,5,6,7,8,9,10] //only one ocurance of each line
listOfDuplicates = [1,1,1,3,3,2,7,8] //duplicates removed from original list
输出不需要与项目的初始顺序相对应。 谢谢你的帮助,马特
【问题讨论】:
标签: list groovy collections duplicates unique