Java demande d'information du livre

Utilisez collections génériques pour implémenter la fonction de recherche d'un système de gestion de la bibliothèque.

Dans le système de gestion de bibliothèque afin de faciliter les livres de gestion, le livre est divisé en plusieurs catégories. Sous chaque catégorie , il y a beaucoup de livres, chaque livre a une catégorie correspondant, qui a une relation à plusieurs cartographie, cette catégorie correspond à un multiple livres.

Dans ce cas, peut être utilisé à la carte du magasin carte Informations du livre et de la catégorie, qui est la clé de catégorie (catégorie) Type, Liste type de valeur (Livres, catégorie de classe), la sortie de boucles imbriquées dans chaque catégorie correspondante plus d'informations de livre. Des mesures spécifiques sont les suivantes.

1. Créer une catégorie classe représente un type de livres, il y a deux dans les attributs de classe: id et nom, catégorie nom et le numéro, respectivement, et à réaliser leur méthode setXXX () et getXXX (), comme suit:

public class Category {
    private int id; // 类别编号
    private String name; // 类别名称

    public Category(int id, String name) {
        this.id = id;
        this.name = name;
    }

    public String toString() {
        return "所属分类:" + this.name;
    }

    // 上面两个属性的setXxx()和getXxx()方法
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

2. Créez une information détaillée représente livres bookinfo, dont cinq propriétés dans la classe: id, nom, prix, auteur et startTime, respectivement Book Number, le nom, le prix, l'auteur et la date de publication, a également atteint leur setXXX () et un procédé getXXX (), comme suit:

public class BookInfo {
    private int id; // 编号
    private String name; // 名称
    private int price; // 价格
    private String author; // 作者
    private String startTime; // 出版时间

    public BookInfo(int id, String name, int price, String author, String startTime) {
        this.id = id;
        this.name = name;
        this.price = price;
        this.author = author;
        this.startTime = startTime;
    }

    public String toString() {
        return this.id + "\t\t" + this.name + "\t\t" + this.price + "\t\t" + this.author + "\t\t" + this.startTime;
    }

    // 上面5个属性的 setXxx() 和 getXxx() 方法
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getPrice() {
        return price;
    }

    public void setPrice(int price) {
        this.id = price;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }
}

3. Créer une classe CategoryDao, définie dans la carte ou une classe générique, il est un objet Catégorie type de clé, l'objet est de type List, et définir la méthode printCategoryInfo (), et pour l'impression de livres détaillés informations de catégorie. Code est la suivante:

public class CategoryDao {
    // 定义泛型Map,存储图书信息
    public static Map<Category, List<BookInfo>> categoryMap = new HashMap<Category, List<BookInfo>>();

    public static void printDeptmentInfo() {
        for (Category cate : categoryMap.keySet()) {
            System.out.println("所属类别:" + cate.getName());
            List<BookInfo> books = categoryMap.get(cate);
            System.out.println("图书编号\t\t图书名称\t\t图书价格\t\t图书作者\t\t出版时间");
            for (int i = 0; i < books.size(); i++) {
                BookInfo b = books.get(i); // 获取图书
                System.out.println(b.getId() + "\t\t" + b.getName() + "\t\t" + b.getPrice() + "\t\t" + b.getAuthor()
                        + "\t\t" + b.getStartTime());
            }
            System.out.println();
        }
    }
}

4. Créer un test de classe de test, définir quatre et huit objets Personnes Deptment en ce que les objets de classe, et divisée en 4 groupes 8 personnes objets stockés dans la collection de la liste 4, puis quatre et quatre objets Deptment Liste mettre en conformité avec - stockée DeptmentDao peoplesMap carte de classe relation correspondante. Le dernier appel de méthode DeptmentDao classe printDeptmentInfo () pour imprimer les catégories de livres et les informations correspondantes. Code spécifique, comme suit:

public class Test {
    public static void main(String[] args) {
        Category category1 = new Category(1, "数据库"); // 创建类别信息
        Category category2 = new Category(2, "程序设计"); // 创建类别信息
        Category category3 = new Category(3, "平面设计"); // 创建类别信息
        BookInfo book1 = new BookInfo(1, "细说 Java 编程", 25, "张晓玲", "2012-01-01"); // 创建图书信息
        BookInfo book2 = new BookInfo(2, "影视后期处理宝典", 78, "刘芳", "2012-10-05"); // 创建图书信息
        BookInfo book3 = new BookInfo(3, "MySQL 从入门到精通", 41, "王志亮", "2012-3-2"); // 创建图书信息
        BookInfo book4 = new BookInfo(4, "Java 从入门到精通", 27, "陈奚静", "2012-11-01"); // 创建图书信息
        BookInfo book5 = new BookInfo(5, "SQL Server 一百例", 68, "张晓玲", "2012-01-01"); // 创建图书信息
        List<BookInfo> pList1 = new ArrayList<BookInfo>(); // 向类别 1 添加图书
        pList1.add(book1);
        pList1.add(book4);
        List<BookInfo> pList2 = new ArrayList<BookInfo>(); // 向类别 2 添加图书
        pList2.add(book3);
        pList2.add(book5);
        List<BookInfo> pList3 = new ArrayList<BookInfo>(); // 向类别 3 添加图书
        pList3.add(book2);
        CategoryDao.categoryMap.put(category1, pList1);
        CategoryDao.categoryMap.put(category2, pList2);
        CategoryDao.categoryMap.put(category3, pList3);
        CategoryDao.printDeptmentInfo();
    }
}

Dans le programme, en utilisant les informations contenues dans le détail livre la liste Carte génériques et génériques livre catégorie de magasin et des catégories spécifiques . On peut voir que l'utilisation de médicaments génériques réduit non seulement la quantité de code que vous écrivez, mais aussi d' améliorer le type de sécurité.

Exécutez le programme des sorties le résultat indiqué ci-dessous.

所属类别:平面设计
图书编号  图书名称  图书价格  图书作者  出版时间
2  影视后期处理宝典  78  刘芳  2012-10-05

所属类别:数据库
图书编号  图书名称  图书价格  图书作者  出版时间
1  细说 Java 编程  25  张晓玲  2012-01-01
4  Java 从入门到精通  27  陈奚静  2012-11-01

所属类别:程序设计
图书编号  图书名称  图书价格  图书作者  出版时间
3  MySQL 从入门到精通  41  王志亮  2012-3-2
5  SQL Server 一百例  68  张晓玲  2012-01-01
Publié 457 articles originaux · louange gagné 94 · vues 10000 +

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45743799/article/details/104716899
conseillé
Classement