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