Java HashMap分隔符和字段

Java HashMap分隔符和字段,java,hashmap,Java,Hashmap,我想在hashmap中使用separator和不同的字段,我正在尝试编写程序,在数据中查找重复的firstname和lastname字段,而不是添加序列号, 检查所有记录中的firstname&&lastname 如果firstname&&lastname在字段中发现重复的add seqNumber,如0,1,2,3。。 如果未找到重复项,则返回0 我写的代码运行良好。。但是,这是检查线路。。我需要检查两个字段firstname和lastname,而不是字段 请帮帮我 这是inputdata文件

我想在hashmap中使用separator和不同的字段,我正在尝试编写程序,在数据中查找重复的firstname和lastname字段,而不是添加序列号, 检查所有记录中的firstname&&lastname 如果firstname&&lastname在字段中发现重复的add seqNumber,如0,1,2,3。。 如果未找到重复项,则返回0

我写的代码运行良好。。但是,这是检查线路。。我需要检查两个字段firstname和lastname,而不是字段

请帮帮我

这是inputdata文件:-我有如下数据文件:

CustmerNumber,FirstName,LastName,Address1,city
123456789,abcd,efgh,12 spring st,atlanta
2345678,xyz,lastname,16 sprint st,atlanta
232345678,abcd,efgh ,1201 sprint st,atlanta 
1234678,xyz,lastname,1234 oakbrook pkwy,atlanta
23556,abcd,efgh,3201 sprint st,atlanta
34564,robert,parker,12032 oakbrrok,atlanta
我想要输出数据文件,如:

CustmerNumber,FirstName,LastName,Address1,city,**SEQNUMBER**
123456789,**abcd,efgh**,12 spring st,atlanta,**0**
232345678,**abcd,efgh** ,1201 sprint st,atlanta,**1** 
23556,**abcd,efgh**,3201 sprint st,atlanta,**2**
2345678,**xyz,lastname**,16 sprint st,atlanta,**0**
1234678,**xyz,lastname**,1234 oakbrook pkwy,atlanta,**1**
34564,**robert,parker**,12032 oakbrrok,atlanta,**0**
这是我的密码:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;


public class test1 {

    /**
     * @param args
     * @throws FileNotFoundException 
     */
    public static void main(String[] args) throws FileNotFoundException {
        // TODO Auto-generated method stub

        Map<String, Integer> names = new HashMap<>();

        File dir = new File("Data_File_In");

        for (File file : dir.listFiles()) {
            Scanner s = new Scanner(file);

            s.nextLine();   

            while(s.hasNextLine()) {
                String line = s.nextLine();
                if(!names.containsKey(line)) {
                    names.put(line, 0);
                }
                names.put(line, names.get(line) + 1);
            }
            for(String name : names.keySet()) {
                for(int i = 1; i <= names.get(name); i++) {
                    System.out.println(name + "---->" + (i-1));
                }
            }

            s.close();

        }

    }

}
我的代码正在检查行是否与序列号0,1,2…重复。。。。 如果不相同,则只需重复0 而不是需要使用字段firstname和lastname。。 请帮帮我!!
谢谢

解析行,以便知道firstName和lastName的值 每行。然后对每一行使用例如firstName++lastName 作为你地图的钥匙。地图中的值将是例如整数值 这些是计数。当阅读一行时,构造它的键并查看它是否正确 已经在地图上了。如果是-增加数值,即计数,否则
在映射中添加计数为1的新条目。

使用Stringsplit访问单个字段,或使用和CSVWriter读取和写入CSV文件。感谢您的帮助,我真的不知道如何使用hashmap中的字段查找重复项并添加数字0,1,2,3。请帮助我!!提前感谢!!我不知道,如何在hashmap中使用firstname和lastname字段,你能帮助我吗!!我是java初学者,请帮帮我!!提前感谢!!你能帮帮我吗我不知道如何在hashmap中使用字段和分隔符。。请帮帮我!!谢谢逐行读取,调用String.split。在返回的数组中,您将拥有firstName和lastName。因此,在while循环中,我需要放置字符串[]actionID=line.split\\,;字符串PFN=actionID[1]。修剪;字符串PLN=actionID[2]。修剪;而不是我如何在hashmap中使用它??请帮帮我!!谢谢