有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在读取csv文件时跳过重复的行?

我需要跳过csv文件中的重复项,并需要将原始值插入我的数据库。 这是我的密码

public class Json {
    public List<User> jsonConvert()
                throws JsonGenerationException, JsonMappingException, IOException {
        File input = new File("C:\\Users\\SwedhaS\\Documents\\SametimeFileTransfers\\newPIRs.csv");      

        Pattern pattern = Pattern.compile(",");

        try (BufferedReader in = new BufferedReader(new FileReader(input));) {
            List<User> users = in 
                .lines()
                .skip(1)
                .<User>map(line -> {
                    String[]x = new String[6];
                    x = pattern.split(line);
                    return new User(x);
                }).collect(Collectors.toList());

            ObjectMapper mapper = new ObjectMapper();
            mapper.enable(SerializationFeature.INDENT_OUTPUT);
            mapper.writeValue(System.out, users);

            return users;
        }
    }
}

共 (1) 个答案

  1. # 1 楼答案

    我相信你是想从users列表中删除重复项,对吗

    为此,如果还想保留顺序,可以使用哈希集,它会自动删除重复项:

    Set<String> usersSet = new LinkedHashSet<>(users);