Я хочу использовать Separtor и различные поля в HashMap, я пытаемся написать программу для поиска дубликатов ПгвЬЫата и LastName полех данных, чем добавить номер sequction, Проверить ПгвЬЫат & & Lastname во всех записях , если это Firstname & & Lastname нашел дубликат добавить seqNumber в feilds как 0,1,2,3 .. если не нашли дублируют чем 0Java HashMap Sepator и Поля
Я пишу код работает нормально .. но, это проверка линия .. вместо полей, мне нужно проверить 2 поля: имя и фамилия.
Пожалуйста, помогите мне!
здесь 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 .... , если не такая же, как и снова y 0 Вместо этого нужно использовать поля firstname и lastname. Пожалуйста, помогите мне! Спасибо!
Используйте String # split() для доступа к отдельным полям или используйте [CSVReader] (http://opencsv.sourceforge.net/apidocs/au/com/bytecode/opencsv/CSVReader.html) и 'CSVWriter' для чтения и писать CSV-файлы. – harpun
Спасибо за помощь, я действительно понятия не имею, как использовать поля в hashmap, чтобы найти дубликаты и добавить число 0,1,2,3. Пожалуйста, помогите мне !! Заранее спасибо!! – user3187463