国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

Java集合框架(中)

2019-11-06 07:35:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Map接口

-提供了一種映射關(guān)系,其中的元素是以鍵值對(duì)(Key-Value)的形式儲(chǔ)存的,能夠?qū)崿F(xiàn)根據(jù)key快速查找value。 -鍵值對(duì)以Entry類型的對(duì)象實(shí)例形式存在。 -鍵值(key)不可重復(fù),value可以。 -每個(gè)鍵值(key)最多只能映射到一個(gè)值。 -Map接口提供了分別返回key值集合,value值集合以及Entry(鍵值對(duì))集合的方法 -Map支持泛型,形如:Map

import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Scanner;import java.util.Set;public class MapTest { // 用了盛裝學(xué)生類型 PRivate Map<String, Student> students; private Set<Course> courses; public MapTest(Map<String, Student> students) { this.students = students; } /* * 添加學(xué)生:輸入ID,判斷是否有學(xué)生對(duì)象, 若沒(méi)有則輸入姓名,創(chuàng)建學(xué)生對(duì)象并添加到students中 */ public void put() { Scanner scanner = new Scanner(System.in); int i = 0; while (i < 3) { System.out.println("請(qǐng)輸入學(xué)生ID"); String id = scanner.next(); // 判斷id是否被占用 Student student = students.get(id); if (student == null) { System.out.println("請(qǐng)輸入學(xué)生姓名:"); String name = scanner.next(); Student newStudent = new Student(id, name, courses); // 向map中添加學(xué)生 students.put(id, newStudent); System.out.println("成功添加" + students.get(id).getName()); i++; } else { System.out.println("id被占用"); continue; } } } // 測(cè)試keySet public void keySet() { Set<String> key = students.keySet(); System.out.println("容量" + students.size()); for (String id : key) { Student student = students.get(id); // 判斷是否為空非常必要,不然會(huì)出現(xiàn)空指針異常 if (student != null) { System.out.println(student.getId() + "/" + student.getName()); } } } // 測(cè)試刪除Map中的映射 public void remove() { System.out.println("請(qǐng)輸入要?jiǎng)h除學(xué)生的id"); Scanner scanner = new Scanner(System.in); while(true){ String id = scanner.next(); Student student = students.get(id); if (student == null) { System.out.println("輸入的id不存在,請(qǐng)重新輸入"); continue; } else { students.remove(id); System.out.println("刪除:"+student.getName()+"成功"); break; } } } // 通過(guò)entrySet遍歷Map public void entrySet(){ Set<Entry<String, Student>> entrySet = students.entrySet(); for (Entry<String, Student> entry : entrySet) { System.out.println("取得鍵:"+entry.getKey()); System.out.println("對(duì)應(yīng)值:"+entry.getValue().getName()); } } // 利用put方法修改Map中已有映射 public void testPut(){ System.out.println("請(qǐng)輸入要修改學(xué)生的id"); Scanner scanner = new Scanner(System.in); while(true){ String id = scanner.next(); Student student = students.get(id); if (student == null) { System.out.println("輸入的id不存在,請(qǐng)重新輸入"); continue; } else { System.out.println("對(duì)應(yīng)學(xué)生為:"+student.getName()); System.out.println("請(qǐng)輸入新的學(xué)生名"); String name = scanner.next(); Student newStudent = new Student(id,name, courses); students.put(id, newStudent); System.out.println("修改成功"); break; } } } public static void main(String[] args) { Map<String, Student> students = new HashMap<String, Student>(); MapTest mapTest = new MapTest(students); mapTest.put(); mapTest.keySet(); mapTest.remove(); mapTest.testPut(); mapTest.entrySet(); } public Map<String, Student> getStudents() { return students; } public void setStudents(Map<String, Student> students) { this.students = students; }}

請(qǐng)輸入學(xué)生ID 1 請(qǐng)輸入學(xué)生姓名: lc 成功添加lc 請(qǐng)輸入學(xué)生ID 2 請(qǐng)輸入學(xué)生姓名: shz 成功添加shz 請(qǐng)輸入學(xué)生ID 3 請(qǐng)輸入學(xué)生姓名: cjl 成功添加cjl 容量3 1/lc 2/shz 3/cjl 請(qǐng)輸入要?jiǎng)h除學(xué)生的id 1 刪除:lc成功 請(qǐng)輸入要修改學(xué)生的id 2 對(duì)應(yīng)學(xué)生為:shz 請(qǐng)輸入新的學(xué)生名 wn 修改成功 取得鍵:2 對(duì)應(yīng)值:wn 取得鍵:3 對(duì)應(yīng)值:cjl


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 锡林郭勒盟| 漳州市| 沅江市| 湘潭县| 临城县| 吴堡县| 聂荣县| 邻水| 盘山县| 德庆县| 红河县| 大荔县| 奉节县| 海宁市| 宝山区| 繁峙县| 汨罗市| 万全县| 六盘水市| 佛坪县| 桦甸市| 潮安县| 嫩江县| 茂名市| 凤翔县| 平定县| 桂林市| 郁南县| 揭阳市| 富锦市| 南陵县| 嘉善县| 合水县| 洪江市| 即墨市| 吴桥县| 客服| 秀山| 太和县| 新野县| 洛阳市|