我们知道在 Java 的 List 中是允许对象或者元素是重复的。
不允许重复的集合,我们可以使用 set。
在有时候,我们希望 List 集合中的内容是不重复的,所以我们需要对 List 进行一次去重。
使用 Guava
其实有多个办法来去重,相对简单实用点的可以使用 Guava。
使用下面的这句话就可以了:
List<String> townsName = FileUtils.readLines(new File("C:\\Users\\yhu\\Documents\\town\\us-ma.txt"));
logger.debug("Town Count - [{}]",townsName.size());
townsName = Lists.newArrayList(Sets.newHashSet(townsName));
logger.debug("Town Count Clean - [{}]",townsName.size());
上面代码就是简单的把 List 设到 HashSet 中,然后再转换为 List。
上面的内容为测试的问题,第一步是使用 FileUtils 将文本中的内容读取到 List 列表中。