删除列表中的重复项

Eva*_*van 1 java list duplicates

我正在为俱乐部管理电子邮件列表服务。我需要对txt文件中的电子邮件地址进行排序,删除重复项,然后将其输出,以便我可以轻松地整理它们。由于我现在的编程技能非常少,所以我的大部分代码都是从各种来源在线拼接而成的。这是我到目前为止的内容:

import java.io.IOException;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.*;
public class ReadAllLines {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Path textFile_path = Paths.get("V:/", "Entrepreneurship Club Email List.txt");

        Charset charset = Charset.forName("ISO-8859-1");
        try {
            //Reads txt file
            List<String> lines = Files.readAllLines(textFile_path, charset);

            //Sorts txt file alphabetically
            Collections.sort(lines);

            //prints txt file
            for (String line : lines) {
                System.out.println(line);
            }
        //File Not Found Error
        } catch (IOException e) {
            System.out.println(e);
        }
    } 
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*rey 5

我需要对txt文件中的电子邮件地址进行排序,删除重复项,然后将其输出,以便我可以轻松地整理它们。

在这种情况下,请使用SortedSet

Set<String> set = new TreeSet<>(Files.readAllLines(textFile_path, charset));
Run Code Online (Sandbox Code Playgroud)

set 将被排序,忽略重复项。

在Java 8中,您可以

Set<String> set = Files.lines(textFile_path, charset)
                       .sorted()
                       .collect(toSet());
Run Code Online (Sandbox Code Playgroud)