色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java通訊錄包括存儲和讀寫

錢斌斌1年前8瀏覽0評論

在Java編程中,通訊錄是一種常見的數據結構,它通常包括聯系人的姓名、電話號碼、電子郵件、地址等信息。為了實現通訊錄的存儲和讀寫,我們可以使用Java的集合框架和文件IO操作。

首先我們可以使用HashMap集合來存儲通訊錄中的聯系人信息。HashMap是基于哈希表實現的,它可以快速地查找和插入數據。我們可以將聯系人的姓名作為HashMap的鍵,聯系人的詳細信息作為值:

HashMap<String, Contact> contacts = new HashMap<>();
contacts.put("張三", new Contact("張三", "13312345678", "zhangsan@email.com", "北京"));

其中Contact是一個自定義類,用于存儲聯系人的詳細信息,它應該包括姓名、電話號碼、電子郵件和地址等屬性。我們可以通過重寫Contact類的toString方法來輸出聯系人的信息:

public class Contact {
private String name;
private String phoneNumber;
private String email;
private String address;
// constructors, getters and setters
public String toString() {
return "姓名:" + name + "\n電話號碼:" + phoneNumber + "\n電子郵件:" + email + "\n地址:" + address;
}
}

接下來我們可以使用文件IO操作來實現通訊錄的讀寫。我們可以將通訊錄存儲在一個文本文件中,通過讀寫文件的方式來實現通訊錄的持久化。為了方便,我們可以定義一個ContactList類來封裝通訊錄的讀寫操作:

public class ContactList {
private HashMap<String, Contact> contacts;
private String filePath;
public ContactList(String filePath) {
this.contacts = new HashMap<>();
this.filePath = filePath;
loadContacts();
}
public void addContact(String name, String phoneNumber, String email, String address) {
Contact contact = new Contact(name, phoneNumber, email, address);
contacts.put(name, contact);
saveContacts();
}
public void removeContact(String name) {
contacts.remove(name);
saveContacts();
}
public void printContacts() {
for (Contact c : contacts.values()) {
System.out.println(c);
}
}
private void loadContacts() {
try (BufferedReader br = new BufferedReader(new FileReader(filePath))) {
String line;
while ((line = br.readLine()) != null) {
String[] parts = line.split(",");
String name = parts[0];
String phoneNumber = parts[1];
String email = parts[2];
String address = parts[3];
contacts.put(name, new Contact(name, phoneNumber, email, address));
}
} catch (IOException e) {
e.printStackTrace();
}
}
private void saveContacts() {
try (PrintWriter pw = new PrintWriter(new FileWriter(filePath))) {
for (Contact c : contacts.values()) {
pw.println(c.getName() + "," + c.getPhoneNumber() + "," + c.getEmail() + "," + c.getAddress());
}
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}

在ContactList類的構造函數中,我們首先會調用loadContacts方法來從文件中讀取通訊錄,如果文件不存在則會創建一個新文件。在addContact和removeContact方法中,我們現將HashMap中的聯系人信息更新,然后調用saveContacts方法將新的通訊錄保存到文件中。在printContacts方法中,我們遍歷HashMap并調用Contact類的toString方法輸出每個聯系人的信息。

使用ContactList類可以方便地實現通訊錄的存儲和讀寫,例如:

ContactList contactList = new ContactList("contacts.txt");
contactList.addContact("張三", "13312345678", "zhangsan@email.com", "北京");
contactList.removeContact("張三");
contactList.printContacts();