Java高级特性与实战项目——第一章集合框架-课后作业

1.创建一个类Queue,代表队列(特点:先进先出),添加add(object obj)及get()方法,并添加mian()方法进行效果验证。

package come.diyizhangkeho.dome;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.NoSuchElementException;

public class Queue {
	
	private LinkedList<Object> linkedList = new LinkedList<Object>();
 
	//LinkedList实现的先进先出
    public void linkedListAdd(Object obj) {
        this.linkedList.addFirst(obj);
    }
     
    @SuppressWarnings("finally")
    public Object linkedListGet(){
        Object obj = null;
        try {
            obj = this.linkedList.getLast();
            this.linkedList.removeLast();
        } catch (NoSuchElementException e) {
        }finally{
            return obj;
        }
    }
     
    public static void main(String[] args) {
        Queue queue = new Queue();
        //测试Linkedlist,添加0 1 2进去
        for (int i = 0; i < 3; i++){
            System.out.println("linkedListAdd("+i+")");
            queue.linkedListAdd(i);
        }
        //输出4次,第4次应该为null,输出顺序和放入顺序一致
        for (int i = 0; i < 4; i++) {
            System.out.println("linkedListGet()=="+queue.linkedListGet());
        }
    }
}

2.创建一个HashMap对象,并在其中添加一些学员的姓名和他们的分数,键为学员姓名(使用String类型),值为学员分数(使用Integer类型)。从HashMap对象中获取这些学员的成绩并输出。修改其中一名学员的成绩,然后再次输出所有学员的成绩。

package come.diyizhangkeho.dome;
/**
 * 
 * @author 学生类
 *
 */
public class Student {
	private String name; //学生姓名
	private Integer score; //学生成绩
	/**
	 * 构造方法
	 * @param name  学生姓名
	 * @param score 学生成绩
	 */
	public Student(String name,int score) {
		this.name = name;
		this.score = score;
	}
	/**
	 * 
	 * @return 返回学生姓名
	 */
	public String getName() {
		return name;
	}
	/**
	 * 
	 * @param name 赋值
	 */
	public void setName(String name) {
		this.name = name;
	}
	/**
	 * 
	 * @return 返回学生成绩
	 */
	public int getScore() {
		return score;
	}
	/**
	 * 
	 * @param score 赋值
	 */
	public void setScore(int score) {
		this.score = score;
	}
	
}
package come.diyizhangkeho.dome;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/**
 * 
 * @author 通过测试Iterator遍历List输出学员成绩
 *
 */
public class Test {
	public static void main(String[] args) {
		/*1.创建多个学生对象 */				
		Student s = new Student("张三", 60);
		Student l = new Student("李四", 70);
		Student w = new Student("王五", 80);
		Student z = new Student("赵六", 90);
		/*2.创建Map集合对象并把多个学生对象放入其中*/
		Map<String,Student> map = new HashMap<String,Student>();
		map.put(s.getName(), s);
		map.put(l.getName(), l);
		map.put(w.getName(), w);
		map.put(z.getName(), z);
		/*3.通过Iterator依次输出集合中所有学生的信息*/
		Set<String> Keys = map.keySet();  			//取出所有Key的集合
		Iterator<String> in = Keys.iterator();		//获得Iterator对象
		System.out.println("学生的姓名及成绩:");
		while(in.hasNext()) {
			String key = in.next();					//取出Key
			Student student = map.get(key);			//根据Key取出对应的值
			System.out.println(key+"\t"+student.getScore());
		}
		System.out.println("\n修改赵六的成绩:");
		map.remove("赵六");							//删除赵六这个对象
		Student z1 = new Student("赵六", 100);		//新建赵六的对象并重新赋值
		map.put(z1.getName(), z1);					//把新建对象放入其中
		Set<String> Keys1 = map.keySet();			//取出所有Key的集合
		Iterator<String> in1 = Keys1.iterator();	//获得Iterator对象
		while(in1.hasNext()) {
			String key = in1.next();				//取出Key
			Student student = map.get(key);			//根据Key取出对应的值
			System.out.println(key+"\t"+student.getScore());
		}
	}
}


猜你喜欢

转载自blog.csdn.net/qq_41882685/article/details/80293794