Java-Work10-泛型(4)
2021/12/8 20:17:12
本文主要是介绍Java-Work10-泛型(4),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目要求
- HashMap的使用。编写1个Book类,有2个成员变量ISBN和name
- 键盘输入4本书的书号和书名,并初始化4个Book实例
- 在主类中定义一个HashMap<K,V>泛型,对HashMap进行多种操作,包括添加、判断元素是否存在表中、输出表长度以及遍历输出等
题目要点
- HashMap对象(实例)的定义
- Collection 与 HashMap 的配合使用
- Iterator 的使用
- HashMap 的 containsKey 函数的使用
特别声明
所提供代码只能保证能运行,但具体代码逻辑稍显别扭,烦请指正
题目代码
package work10; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Scanner; class Book { String ISBN, name; Book(String ISBN, String name) { this.ISBN = ISBN; this.name = name; } } public class Work10_4 { public static void main(String args[]) { Scanner reader = new Scanner(System.in); Book[] book = new Book[4]; HashMap<String, Book> table = new HashMap<String, Book>(); System.out.println("输入4本书的书号和书名:"); // 初始化4本书,并将他们添加进HashMap for(int i = 0; i < 4; i++) { String isbn = reader.nextLine(); String name = reader.nextLine(); book[i] = new Book(isbn, name); table.put(isbn, book[i]); } // 输出HashMap的元素个数 System.out.println("书店中有" + table.size() + "本书: "); // 遍历输出所有元素的ISBN和书名 Collection<Book> collection = table.values(); Iterator<Book> iter = collection.iterator(); while(iter.hasNext()) { Book bk = iter.next(); System.out.println("ISBN:" + bk.ISBN + " 书名:《" + bk.name + "》"); } // 键盘输入一个ISBN,判断该本书是否在HashMap中,如存在,则输出其书名,然后将它从HashMap中移除。 // 如不存在则输出不存在。 System.out.println("输入ISBN查找书名:"); String key = reader.nextLine(); if(table.containsKey(key)) { System.out.println("《" + table.get(key).name + "》有货");// 输出其书名 Book k = table.remove(key); // 从HashMap中移除该本书,并返回这本书信息给k System.out.println("卖出《" + k.name + "》这本书后,书店还有" + table.size() + "本书"); // 遍历输出所有元素的ISBN和书名 collection = table.values(); iter = collection.iterator(); while(iter.hasNext()) { Book bk = iter.next(); System.out.println("ISBN:" + bk.ISBN + " 书名:《" + bk.name + "》"); } } else System.out.println("书店中找不到ISBN为" + key + "的书!"); reader.close(); } }
这篇关于Java-Work10-泛型(4)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-27本地多文件上传的简单教程
- 2024-11-27低代码开发:初学者的简单教程
- 2024-11-27如何轻松掌握拖动排序功能
- 2024-11-27JWT入门教程:从零开始理解与实现
- 2024-11-27安能物流 All in TiDB 背后的故事与成果
- 2024-11-27低代码开发入门教程:轻松上手指南
- 2024-11-27如何轻松入门低代码应用开发
- 2024-11-27ESLint开发入门教程:从零开始使用ESLint
- 2024-11-27Npm 发布和配置入门指南
- 2024-11-27低代码应用课程:新手入门指南