(JAVA高级特性)第一章 集合框架

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

package com.bdqn.demo;

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

public class Queue {
	private List<Object> arrayList = new ArrayList<Object>();
    private LinkedList<Object> linkedList = new LinkedList<Object>();
 
    //ArrayList实现的先进先出
    public void arrayListAdd(Object obj) {
        this.arrayList.add(obj);
    }
 
    public Object arrayListGet() {
        Object obj = null;
        if (this.arrayList.size() > 0) {
            obj = this.arrayList.get(0);
            this.arrayList.remove(0);
        }
        return obj;
    }
 
    //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();
        //测试ArrayList,添加0 1 2进去
        for (int i = 0; i < 3; i++){
            System.out.println("arrayListAdd("+i+")");
            queue.arrayListAdd(i);
        }
        //输出4次,第4次应该为null,输出顺序和放入顺序一致
        for (int i = 0; i < 4; i++) {
            System.out.println("arrayListGet()=="+queue.arrayListGet());
        }
         
        //测试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类,添加学员姓名及分数,键为学生姓名,值为分数。从HashMap对象获取并输出,修改一位同学的成绩,再次输出。
 
 
package com.bdqn.demo;

public class Student {
     private String name;//学生姓名
     private int score;//分数
     public Student( String name,int score) {//重载接收参数
    	 this.name=name;
    	 this.score=score;
     }
	public String getName() {//获取名字
		return name;
	}
	public int getScore() {//获取分数
		return score;
	}
     
}

package com.bdqn.demo;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

//测试类
public class Test {
    public static void main(String[] args) {
    	//学生参数传递
    	Student stu1=new Student("张三", 99);
    	Student stu2=new Student("李四", 80);
    	Student stu3=new Student("王五", 86);
    	Student stu4=new Student("赵六", 72);
		Map <String,Student>score=new HashMap<String,Student>();//声明HashMap
		//添加学生参数集合
		score.put(stu1.getName(),stu1);
		score.put(stu2.getName(),stu2);
		score.put(stu3.getName(),stu3);
		score.put(stu4.getName(),stu4);
        for(String key:score.keySet()) {//foreach打印
        	System.out.println(key+"\t"+score.get(key).getScore());
        }
	     stu4=new Student("赵六",76);//修改一名学生成绩
	     score.put(stu4.getName(), stu4);//添加修改的数据
	     System.out.println("修改后的学员成绩如下:");//打印修改后的学生成绩
	     for(String key:score.keySet()) {
	        	System.out.println(key+"\t"+score.get(key).getScore());
	        }
		}
	
	
}


猜你喜欢

转载自blog.csdn.net/jiangmye/article/details/80298200