使用Map集合寫電話本程式
電話本管理系統
1.主介面
大體就是要實現對電話本的增刪改查:
因為不清楚要儲存的資料的數量,所以可以使用ArrayList不定長陣列去實現,也可以使用集合類去做,此題我用Map集合來做。
廢話不多說,直接上程式碼:
PhoneInfo類定義了一些屬性,變數及構造方法
TelBook類封裝了對電話本的操作:增刪改查的方法。public class PhoneInfo { private String name; private String sex; private String age; private String tel; private String qq; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getTel() { return tel; } public void setTel(String tel) { this.tel = tel; } public String getQq() { return qq; } public void setQq(String qq) { this.qq = qq; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public PhoneInfo(String name, String sex, String age, String tel, String qq, String address) { super(); this.name = name; this.sex = sex; this.age = age; this.tel = tel; this.qq = qq; this.address = address; } @Override public String toString() { return "PhoneInfo [name=" + name + ", sex=" + sex + ", age=" + age + ", tel=" + tel + ", qq=" + qq + ", address=" + address + "]"; } }
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Scanner; import java.util.Set; public class TelBook { static Scanner sc = new Scanner(System.in); static TelBook tb = new TelBook(); Map map = new HashMap<>(); public static void main(String[] args) { System.out.println("————————————————————電話本管理系統——————————————————"); System.out.println("1.新增 2.刪除 3.修改 4.查詢所有 5.根據姓名查詢 0.退出"); System.out.println("————————————————————電話本管理系統——————————————————"); int option; do { System.out.println("請選擇業務"); option = sc.nextInt(); switch (option) { case 1: tb.add(); break; case 2: tb.delete(); break; case 3: tb.modify(); break; case 4: tb.find(); break; case 5: tb.findName(); break; case 0: System.out.println("電話本系統結束"); break; default: }} while(option!=0); } public void add() { System.out.println("———————————新增電話本————————————"); shuru(); Set set = map.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry mapEntry = (Map.Entry) it.next(); System.out.print(mapEntry.getKey() + " " + mapEntry.getValue()); } System.out.println(); System.out.println("新增成功"); } public void delete() { System.out.println("————————————刪除電話本——————————————"); System.out.println("請輸入要刪除的姓名"); String deleteName = sc.next(); if(map.containsValue(deleteName)) { map.remove(deleteName); System.out.println("刪除成功"); }else System.out.println("使用者不存在!"); } public void modify() { System.out.println("————————————修改電話本——————————————"); System.out.println("請輸入要修改的姓名"); String modifyName = sc.next(); if(map.containsValue(modifyName)) { map.remove(modifyName); shuru(); Set set = map.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry mapEntry = (Map.Entry) it.next(); System.out.print(mapEntry.getKey() + " " + mapEntry.getValue()); } System.out.println(); } else { System.out.println("使用者不存在"); } } public void find() { System.out.println("——————————————查詢所有——————————————"); /* Set set = map.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry mapEntry = (Map.Entry) it.next(); System.out.print(mapEntry.getKey() + " " + mapEntry.getValue()); }*/ Set<String> set = map.keySet(); for(String s:set) { System.out.println(map.get(s).toString()); } } public void findName() { System.out.println("————————————根據姓名查詢——————————————"); System.out.println("請輸入要查詢的姓名"); String findName = sc.next(); if(map.containsValue(findName)) { Set set = map.entrySet(); Iterator it = set.iterator(); while (it.hasNext()) { Map.Entry mapEntry = (Map.Entry) it.next(); System.out.print(mapEntry.getKey() + " " + mapEntry.getValue()); } System.out.println(); } else { System.out.println("使用者不存在"); } } public void shuru() { PhoneInfo p = new PhoneInfo("", "", "", "", "", ""); System.out.print("姓名:"); String name = sc.next(); p.setName(name); map.put("姓名:", name); System.out.println(); System.out.print("性別:"); String sex = sc.next(); p.setSex(sex); map.put("性別:", sex); System.out.println(); System.out.print("年齡:"); String age = sc.next(); p.setAge(age); map.put("年齡:", age); System.out.println(); System.out.print("電話:"); String tel = sc.next(); p.setTel(tel); map.put("電話:", tel); System.out.println(); System.out.print("QQ:"); String qq = sc.next(); p.setQq(qq); map.put("QQ:", qq); System.out.println(); System.out.print("地址:"); String address = sc.next(); p.setAddress(address); map.put("地址:", address); System.out.println(); } }
部分程式碼截圖:
執行截圖:
寫在最後:從Map中獲取元素一定要注意是Key值還是Value值,修改時要先remove.
相關推薦
使用Map集合寫電話本程式
電話本管理系統 1.主介面 大體就是要實現對電話本的增刪改查: 因為不清楚要儲存的資料的數量,所以可以使用ArrayList不定長陣列去實現,也可以使用集合類去做,此題我用Map集合來做。 廢話不多說,直接上程式碼: PhoneInfo類定義了一些屬性,變數及構造
python實現增刪改查電話本程式筆記
import json class Person(): def init(self,name,tel): self.name=name self.tel=tel r=open(“notebook.json”,‘rb’) d=json.load® while True: action=inpu
python 寫電話本vcf格式,python保存聯系人vcf,python生成vcf格式文件
style odin path pre 文件 The b+ a+b list #!/usr/bin/python3 #coding:utf-8 ‘‘‘ 生成電話本 BEGIN:VCARD VERSION:3.0 N:QQ;;;; FN:QQ TEL;
【JAVA】java中實現map集合的資料存取詳解三種方法。Android程式設計師也是要會寫的
長期維護的Android專案,裡面包括常用功能實現,以及知識點詳解, 當然還有java中的知識點。具體請看github: https://github.com/QQ986945193/DavidAndroidProjectTools 好了,說正題
python連接Mysql數據庫寫的小電話本
sele word mysql數據庫 pack 連接 裏的 功能 mit 至少 先不說了,先把代碼放這,等有時間再說明程序裏的問題, 這個小程序知識把功能實現,並沒有對布局方面有太多追求 有些註釋掉的也沒有刪除,也沒有個函數包起來,整體看著 應該是有點亂 以下是完整代碼,
黑馬程式設計師——Java集合框架(三)之Map集合、Collections與Arrays工具類
-----------android培訓、java培訓、java學習型技術部落格、期待與您交流!------------ Map集合 一、概述 Map集合儲存的元素是鍵值對,即將鍵和值一對一對往裡存,而且要保證鍵的唯一性。 問題思考: 1.如何保證鍵的唯一性?
零基礎案例,別再錯過了,動手Python做一個電話本小程式!
最近比較忙,只能抽空的寫寫文章,其實我也是一個上班族,python完全是個人想學然後希望以後對工作有所幫助,2019年了,祝大家新年快樂。 我們就必須要懂得寫指令碼來提高下效率了。希望將來會達到那種程度咯,現在的話,先帶大家從基本開始學起吧。 模擬電話本小程式,從實際去學習:
黑馬程式設計師-----泛型,Map集合
------<a href="http://www.itheima.com" target="blank">Java培訓、Android培訓、iOS培訓、.Net培訓</a>、期待與您交流! ------- 1.泛型初步 泛型:JDK1.5版本
遍歷Map集合的幾種方式
set password stat class ati put 獲取 map hashmap 1 import java.util.HashMap; 2 import java.util.Iterator; 3 import java.util.Map; 4 im
java map集合的知識
con ttr 使用 string 如果 ddd bsp contains 演示 /** * Map用於存儲鍵值對,不允許鍵重復,值可以重復。 * (1)HashMap是一個最常用的Map,它根據鍵的hashCode值存儲數據,根據鍵可以直接獲取它的值,
java模擬而一個電話本操作
enum static 全部 ext 電話號碼 .get cep center port 哈哈。大家平時都在使用電話本。以下使用java來模擬而一個簡單的電話本吧... 首先給出聯系人的抽象類 package net.itaem.po; /** * *
ES6中的Set和Map集合
這就是 his 使用場景 ont 最大 urn 受限 我們 ... 前面的話 在ES6標準制定以前,由於可選的集合類型有限,數組使用的又是數值型索引,因而經常被用於創建隊列和棧。如果需要使用非數值型索引,就會用非數組對象創建所需的數據結構,而這就是Set集合與Map集
用集合寫一個簡單的隨機分組,以及集合內元素數量查詢
移除 以及 表示 元素 move spa color 查詢 println 12個人,隨機分為4組 public static void main(String[] args) { List list = new ArrayList();
Map集合總結
int obj ble sem ins 安全 同步 對象 shm Map 將鍵映射到值的對象。一個映射不能包含重復的鍵;每個鍵最多只能映射一個值 方法 void clear() 從此映射中移除所有映射關系(可選操作) boolean containsKe
List、Set、Map集合大雜燴
鏈接 collect hid 鍵值 oar text 同步 二分 實現 java集合主要分三種:list、set、map;當中list和set都繼承自Collection接口,兩者最大差別是set不能包括反復元素 list的經常使用實現類有: Ar
jdbc電話本項目
times 用戶註冊 arr lis cts oca servlet size adding 整體思路:在登陸之後才能查看自己的電話本,電話本中包含用戶名,聯系人名字,電話,性別,分類; 1、登陸註冊頁面--數據庫User表,註冊登陸使用 2、電話本的前段顯示,用表格和
struts2獲取表單數據之 屬性封裝 模型驅動 表達式封裝 對象封裝到list集合 對象封裝到map集合 五種方便的封裝方式
demo1 submit namespace auto nbsp return admin user pri 一、屬性封裝 屬性封裝是在action裏面設定屬性值,屬性名字一定要和表單中的name一樣,action中extends ActionSupport dem
MyBatis無限級分類實現的兩種方法--自關聯與map集合
except app exce utf-8 elf findall ldr ati tex 1、這回先創建數據庫吧 下表cid是CategoryId的縮寫,cname是CategoryName的縮寫,pid是parentId的縮寫 無限級分類一般都包含這三個屬性,至少也要包
Map集合
-- try ash 樹結構 映射 ble tab 叠代器 通過 Map集合存儲鍵值對,鍵值不可重復; 註意:long和int都是number的子類,但是在使用long或者int型作為map的key時,那麽在使用key去取響應的value時,也要使用對應的類型去取;如果拿用
對map集合按照value從大到小進行排序
sta 二叉 cti edm pri 數據表 iterator 表結構 .so 概述: 基本特點: 該集合存儲鍵值對,而且要保證鍵的惟一性 子類: |--HashTable 底層是哈希數據表結構,不可以使用Null作為鍵或者值;該集合線程是同步的