認爲OOP。您需要創建一個Person
類屬性name
,age
和height
。
public class Person {
private String name;
private String age;
private String height;
// Getter and setter methods...
}
接下來,使用BufferedReader
逐行讀取CSV文件。對於每行你想分割線使用line.split(";");
給你一個String[]
包含令牌。
對於行,你現在可以創建一個從令牌的Person
;
Person person = new Person();
person.setName(tokens[0]);
person.setAge(tokens[1]);
person.setHeight(tokens[2]);
注意,這假設列位置。如果你想刪除這個假設,你需要將Map
頭部放到某個位置。
String headerLine = "NAME;AGE;HEIGHT";
String[] headers = headerLine.split(";");
Map<String,Integer> map = new HashMap<String,Integer>();
for (int i=0; i<headers.length; i++) {
map.put(headers[i], i);
}
然後,您可以通過它的名稱獲取列的位置;
Person person = new Person();
person.setName(tokens[map.get("NAME")]);
person.setAge(tokens[map.get("AGE")]);
person.setHeight(tokens[map.get("HEIGHT")]);
Table
類型類是反模式。當程序員不能用對象來思考時,他們往往會出現。我經常在遺留的java應用程序中看到Table
類,並且它真正的PITA可以與它們一起工作。不要這樣做。
感謝這是hasmap完美幫助我的hasmap部分。 –