前面详细介绍了Java中各集合的使用,像Set集合和List集合等,另外,还结合泛型讲解了一些高级应用。在实际开发中,泛型集合是较常用的,一般定义集合都会使用泛型的形式来定义。本节将使用泛型集合来模拟实现某图书管理系统的查询功能。
在图书管理系统中为了方便管理图书,将图书划分为几个类别。每个类别下有很多图书,每本图书都有相对应的类别,这就具备了一对多的关系映射,即一个类别对应多本图书。
在这种情况下就可以使用Map映射来存储类别和图书信息,其键为Category(类别)类型,值为List<Book>类型(Book类为图书类),然后使用嵌套循环遍历输出每个类别所对应的多个图书信息。
【例6-11】 使用Map集合编写图书管理系统。
(1)创建表示图书类别的Category类,在该类中有两个属性:id和name,分别表示编号和类别名称,并实现了它们的set Xxx()和get Xxx()方法,具体内容如下所示:
(2)创建表示图书明细信息的BookInfo 类,在该类中包含5 个属性:id、name、price、author和start Time,分别表示图书编号、名称、价格、作者和出版时间,同样实现了它们的set Xxx()和get Xxx()方法,具体内容如下:(www.xing528.com)
(3)创建CategoryDao类,在该类中定义一个泛型的Map映射,其键为Category类型的对象,值为List<BookInfo>类型的对象,并定义printCategoryInfo()方法,用于打印类别和图书明细信息。具体代码如下:
(4)创建测试类Example6-11,在该类中首先定义3个Category对象和5个BookInfo对象,并将5个BookInfo对象分成3组,存储到3个List集合中,然后将3个Category对象和3个List集合按照对应关系存储到Category Dao 类中的Category Map 映射中,最后调用Category Dao类中的printCategoryInfo()方法打印类别及对应的图书信息。具体的代码如下:
在该程序中,使用了泛型List和泛型Map分别存储图书类别和特定类别下的图书明细信息。从中可以看出使用泛型不仅减少了代码的编写量,而且提高了类型的安全性。
运行该程序,输出的结果如下所示:
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。