我在这里找到了一个很好的代码,可以帮助我完成要做的事情。 但我需要的是: 我有两个列表,一个列表是 example1.txt,第二个列表是 example2.txt 我需要获得相似和不同。我不知道在哪里设置 c://example1.txt 和 c://example2.txt
例如:Arrays.asList(c://example1.txt);
import java.util.Collection;
import java.util.HashSet;
import java.util.Arrays;
class Repeated {
public static void main( String [] args ) {
Collection<String> listOne = Arrays.asList("1","2","3");
Collection<String> listTwo = Arrays.asList("1","2","2");
Collection<String> similar = new HashSet<String>( listOne );
Collection<String> different = new HashSet<String>();
different.addAll( listOne );
different.addAll( listTwo );
similar.retainAll( listTwo );
different.removeAll( similar );
System.out.printf("One:%s%nTwo:%s%nSimilar:%s%nDifferent:%s%n", listOne, listTwo, similar, different);
}
}
最佳答案
据我了解,您不知道如何将文本文件读取到列表。有很多选择:
- commons-io
IOUtils.readLines(new FileInputStream("c:/example.txt"))
- 使用
new BufferedInputStream(new FileInputStream(..))
,然后使用readLine()
方法循环
要正确处理编码,您需要使用new InputStreamReader(inputStream, "utf-8")
更新:
您的文件似乎只包含一行。使用 Peter 提醒我的 FileUtils
:
String str = FileUtils.readFileToString("c:/filename.txt");
String[] numbers = str.split(",");
List<String> list = Arrays.asList(numbers);
关于java - 比较两个列表并获取唯一列表(example.txt)java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6151033/