泛型与集合框架
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
泛型与集合框架
1.实验目的
1、掌握LinkedList
的数据的方法
2、掌握用散列映射来存储数据
3、掌握TreeSet
2.实验内容
1、根据附录里的源代码,完成代码填空,使程序能够运行得出结果。
1)实验1 按身高排序
2)实验2 英汉小字典
3)实验3 演出节目单
4)实验4输出args[]中的单词
2、设计编写程序完成以下任务。
1)仿照实验1编写TV类,要求通过实现Comparable接口规定该类的对象的大小关系,按price值得大小确定大小关系,即电视机按其价格确定之间的大小关系。
2)从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。
知识点:List接口的实现类、String常用方法
3)请使用LinkedList来模拟一个队列(先进先出的特性):
(1)拥有放入对象的方法void put(Object o)
(2)取出对象的方法Object get()
(3)判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。
知识点:List接口的实现类LinkedList常用方法
4)在一个列表中存储以下元素:apple,grape,banana,pear
(1)返回集合中的最大的和最小的元素
(2)将集合进行排序,并将排序后的结果打印在控制台上
知识点:Collections类中的方法
3.实验步骤
略
4.评分标准
1.A——内容功能完善,编程风格好,人机接口界面好;
2.B——内容功能完善,编程风格良好,人机接口界面良好;
3.C——完成必做内容;
4.D——能完成必做内容;
5.E——未按时完成必做内容,或者抄袭(雷同者全部为E).
参照书上实验按模版要求,将【代码】替换为Java程序代码,编写好完整的程序文档,最后运行得到的相关文件,把实验所得文件一起打包上交。(压缩包的文件名为:学号和名字,如2010001245452张三.zip|rar)
附录:
实验1 按身高排序
模板代码
Student.java
public class Student implements Comparable<【代码】>{
int height=0;
String name;
Student(String n,int h){
name=n;
height=h;
}
public int compareTo(Student b){
【代码】
}
}
FindStudent.java
import java.util.*;
public class FindStudent {
public static void main(String[] args) {
List
list.add(new Student("张三",188));
list.add(new Student("李四",178));
list.add(new Student("王五",198));
Iterator
System.out.println("排序前,链表中的数据");
while(iter.hasNext()){
Student stu=【代码】; //依次遍历
System.out.println(+"身高:"+stu.height);
}
【代码】; //排序
System.out.println("排序后,链表中的数据");
iter=list.iterator();
while(iter.hasNext()){
Student stu=【代码】; //依次遍历
System.out.println(+"身高:"+stu.height);
}
Student zhaolin=new Student("zhao xiao lin",178);
int index=Collections.binarySearch(list,zhaolin,null);
if(index>=0){
System.out.println(+"和链表中"+list.get(index).name+"身高相同");
}
}
}
实验2 英汉小字典
模板代码
Dictionary.java
public class Dictionary {
public static void main(String[] args) {
WindowWord win = new WindowWord();
win.setTitle("英汉小字典");
}
}
WindowWord.java
import java.awt.*;
import javax.swing.*;
public class WindowWord extends JFrame{
JTextField inputText,showText;
WordPolice police;
WindowWord(){
setLayout(new FlowLayout());
inputText=new JTextField(6);
showText=new JTextField(6);
add(inputText);
add(showText);
police=new WordPolice();
police.setJTextField(showText);
inputText.addActionListener(police);
setBounds(100,100,400,280);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
WordPolice.java
import java.awt.event.*;
import javax.swing.*;
import java.io.*;