Kbaor_Ktp_0920_10 集合和泛型

2023年9月20日第十章(集合和泛型)课后题

第一题
请使用LinkedList来模拟一个队列(先进先出的特性):
1.1 拥有放入对象的方法void put(Object o) 
1.2 取出对象的方法Object get() 
1.3 判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。

package ktp_0920_10;

import java.util.LinkedList;

/**
 * [第十章第一题]
 * 
 * @author 秦帅  2128424055
 * @data   2023-9-20
 *
 */
public class zy_01 {

	public static void main(String[] args) {
		MyQueue que=new MyQueue();
        que.put("秦");
        que.put("帅");
        que.put("最");
        que.put("帅");
        while(!que.isEmpty()){
            //获取第一个元素
            Object k=que.get();
            System.out.println(k);
        }

	}

}
class MyQueue{
    //存储队列中数据
    LinkedList<Object> data=new LinkedList<>();
    //1.1 拥有放入对象的方法void put(Object o) 
    public void put(Object o){
       data.add(o);
    }
    //1.2取出对象的方法Object get()
    public Object get(){
        //从队列中获取元素,获取最先放入元素,获取后从队列中删除该元素
        Object obj=data.getFirst();
        //获取后从队列中删除该元素
        data.removeFirst();
        return obj;
    }
    //1.3 判断队列当中是否为空的方法boolean isEmpty()
    public boolean isEmpty(){
        return data.size()==0?true:false;
    }
    
}



第二题
假设顺序列表ArrayList中存储的元素是整型数字1~5 (加入泛型限制数据类型),遍历每个元素,将每个元素顺序输出。

package ktp_0920_10;

import java.util.ArrayList;
import java.util.List;

/**
 * [第十章第二题]
 *
 * @author 秦帅 2128424055
 * @data 2023-9-20
 *
 */
public class zy_02 {

    public static void main(String[] args) {
        //假设顺序列表Arraylist中存储的元素是整型数字1~5,遍历每个元素,将每个元素顺序输出。
        List<Integer> list = new ArrayList<>(5);
        for (int i = 1; i <= 5; i++) {
            list.add(i);
        }
        System.out.println("每个元素按顺序输出:");
        list.forEach(System.out::println);
    }
}

第四题
编写一个程序,创建一个HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额),储户的ID作为key,显示其中某个储户的当前余额。

package ktp_0920_10;


import java.util.HashMap;
import java.util.Map;

/**
 * [第十章第四题]
 *
 * @author 秦帅 2128424055
 * @data 2023-9-20
 *
 */
public class zy_04 {
   /**
     *  编写一个程序,创建一个HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额),储户的ID作为key,显示其中某个储户的
     * 当前余额。
     */

    public static void main(String[] args) {
        Map<Integer, User>users=new HashMap<>();

        User usr1=new User(1,"秦帅",1000000.0);
        User usr2=new User(2,"赵青林",200000.0);
        User usr3=new User(3,"吴君杰",3000000.0);

        users.put(usr1.getId(), usr1);
        users.put(usr2.getId(), usr2);
        users.put(usr3.getId(), usr3);
        for (int i = 1; i <= 3; i++) {
            User usr = users.get(i);
            System.out.println(usr);
        }




    }
}
//储户类
class User {
    //属性 储户的ID,姓名和余额
    private Integer id;  //储户的ID
    private String name;//姓名和余额
    private Double money;//余额
    public User(Integer id, String name, Double money) {
        this.id = id;
        this.name = name;
        this.money = money;
    }
    @Override
    public String toString() {
        return "用户ID为" + id + ",姓名为" + name + "账户的余额为" + money + "。";
    }
    public Integer getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

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

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

}




第五题
编写一个程序,创建一个HashMap对象,用于存储银行储户的信息(其中储户的主要信息有储户的ID,姓名和余额),储户的ID作为key,显示其中某个储户的当前余额。

package ktp_0920_10;


import java.util.Scanner;
import java.util.TreeSet;

/**
 * [第十章第四题]
 *
 * @author 秦帅 2128424055
 * @data 2023-9-20
 *
 */
public class zy_05 {
   /**
     *  从控制台输入若干个单词(输入回车结束)放入集合TreeSet中,将这些单词排序后(忽略大小写)打印出来。
     */

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        TreeSet<String> danci = new TreeSet<>();
        System.out.println("请输入单词,输入“完成”开始排序:");
        String input;
        while (!(input = scanner.next()).equals("完成"))
        {
            danci.add(input);//把输入得名字存入TreeSet
        }



        System.out.println("按字典序排序后的名字如下:");//TreeSet特有的功能
        for (String dc : danci)
        {
            System.out.println(dc);
        }
    }
}



posted @ 2023-09-21 08:33  Kbaor  阅读(31)  评论(0)    收藏  举报