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

本文主要介绍了JAVA编程中的高级特性,聚焦于集合框架。通过创建一个名为Queue的类来实现队列数据结构,该类包含添加元素的add()方法和获取元素的get()方法。通过mian()方法进行功能验证,展示了JAVA中先进先出(FIFO)的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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());
	        }
		}
	
	
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值