文档视界 最新最全的文档下载
当前位置:文档视界 › 实验6 泛型与集合框架_附答案

实验6 泛型与集合框架_附答案

实验6 泛型与集合框架_附答案
实验6 泛型与集合框架_附答案

任务一:用LinkedList存放对象

1.利用面向对象的思想,创建以下类:

●Person类,包含Person的姓名和身份证号码,覆盖Object类的toString()

方法,显示“姓名:XXX 身份证号:XXX”。

●Student类,继承Person类,包含学生的语文、数学、英文课的成绩,并覆盖

父类的toString()方法,显示“姓名:XXX 身份证号:XXX 语文:XXX 数学:XXX 英文:XXX”。

●Teacher类,继承Person类,包含教师的工资。并覆盖父类的toString()方

法,显示“姓名:XXX 身份证号:XXX 工资:XXX”。

●public class Person implements Comparable{

●String name;

●String ID;

●Person(String s,String i){

●name=s;

●ID=i; }

●public String toString() {

●String str="姓名:"+name+" 身份证号码:"+ID;

●return str; }

●public int compareTo(Object arg0) {

●Person p=(Person)arg0;

●return https://www.docsj.com/doc/536953466.html,pareTo(p.ID); } }

●class Student extends Person {

●int Chinese;

●int Math;

●int English;

●Student(String n,String i,int c,int m,int e){

●super(n,i);

●Chinese=c;

●Math=m;

●English=e; }

●public String toString() {

●String str;

●str=" 语文成绩:"+Chinese+" 数学成绩:"+Math+" 英语成绩:

"+English;

●return super.toString()+str;

●}

●}

●class Teacher extends Person{

●int salary;

●Teacher(String n,String i,int s){

●super(n,i);

●salary=s;

●}

●public String toString() {

●String str=" 工资"+salary;

●return super.toString()+str;

●} }

2.分别为以上三个类创建对象:

3.将这三个对象存放在一个LinkedList对象中:

LinkedList list=new LinkedList();

4.运行示例:

public class MyList {

public static void main(String[] args) {

LinkedList m=new LinkedList();

Person p=new Person("张三","12310000");

Student s=new Student("李四","12320000",89,93,94);

Teacher t=new Teacher("王五","12330000",3000);

m.add(p);

m.add(s);

m.add(t);

Iterator i = m.iterator();

while(i.hasNext()){

System.out.println(i.next());

}

}}

5.练习使用LinkedList的其他方法。将自己的信息添加到链表的开头,以及结尾,

然后再删除自己的信息。

返回类型方法名称描述

void addFirst()将指定元素插入此列表的开头

void addLast()将指定元素添加到此列表的结尾

E removeFirst()移除并返回此列表的第一个元素

E removeLast()移除并返回此列表的最后一个元素

boolean add(Object o)将指定的元素添加到列表中

任务二:用SET存放对象

1.将以下三个Person类的对象放在一个HashSet中,由于HashSet不能

存放重复的元素(姓名和身份证号都不能重复),所以在Person类中,需要覆盖hashCode()方法和equals()方法。这里给出重写方法的程序:

public boolean equals(Object obj) {

if (this == obj)

return true;

if (obj == null)

return false;

if (getClass() != obj.getClass())

return false;

Person other = (Person) obj;

if (name == null) {

if (https://www.docsj.com/doc/536953466.html, != null)

return false;

} else if (!name.equals(https://www.docsj.com/doc/536953466.html,))

return false;

if (id != other.id)

return false;

return true;

}

public int hashCode() {

final int prime = 31;

int result = 1;

result = prime * result + ((name == null) ? 0 :

name.hashCode());

result = prime * result + id;

return result;

}

再创建一个Person对象:

能放入到刚才创建的HashSet中吗?通过这个对象来测试hashCode()方法和equals()方法的编写是否正确。

1.把集合中的元素打印出来(使用迭代器Iterator类)。

2.public class MyHashSet {

3. public static void main(String[] args) {

4.HashSet h=new HashSet();

5.Person p=new Person("张三","12310000");

6.Person p4=new Person("张三","12310000");

7.h.add(p);

8.Person p1=new Person("李四","12320000");

9.Person p2=new Person("王五","12330000");

10.h.add(p1);

11.h.add(p2);

12.Iterator i = h.iterator();

13.while(i.hasNext()){

14.System.out.println(i.next());

15.}

16.//添加之后

17.h.add(p4);

18.System.out.println("添加之后");

19.Iterator i1 = h.iterator();

20.while(i1.hasNext()){

21.System.out.println(i1.next());

22.} }}

23.用TreeSet存放上面三个人,要求按照身份证号排序,打印出来。(注意使用

TreeSet要实现Comparable接口,并覆盖compareTo()方法)

24.import java.util.Iterator;

25.import java.util.TreeSet;

26.

27.public class MYTreeSet {

28. public static void main(String[] args) {

29.TreeSet t=new TreeSet();

30.Person p=new Person("张三","12310000");

31.Person p1=new Person("李四","12320000");

32.Person p2=new Person("王五","12330000");

33.Person p4=new Person("王五","12330000");

34.t.add(p);

35.t.add(p1);

36.t.add(p2);

37.Iterator i=t.iterator();

38.while(i.hasNext()){

39.System.out.println(i.next());

40.}

41.System.out.println("添加之后:");

42.t.add(p4);

43.Iterator i1=t.iterator();

44.while(i1.hasNext()){

45.System.out.println(i1.next());

46.} }}

任务三:用Map存放对象

设计一个TXT文件,里面存放了10个同学的学号和姓名。给定学生的学号,问该学生在不在名单中,如果在,给出姓名。

[基本要求] 使用Java API中的Map相关的技术来完成实验任务。

●使用文件操作,读出文件中的学号和姓名;

●学号作为KEY,姓名作为VALUE,放到MAP中;

●从命令行中输入的学号,作为KEY,在MAP中进行检索。

public class MYMap {

public static void main(String[] args) throws IOException {

System.out.println("请输入文件的绝对路径");

Scanner re=new Scanner(System.in);

String wen=re.nextLine();

BufferedReader bu=new BufferedReader(new FileReader(wen));

HashMap m=new HashMap();

String str;

while((str=bu.readLine())!=null){

String[]s=str.split(" ");

m.put(s[0], s[1]);

}

String sr;

System.out.println("请输入您要查询的学号:");

String num=re.nextLine();

System.out.println(num);

if((sr=m.get(num))!=null){

System.out.println(num +" "+sr);

}

else

System.out.println("没有此人");

bu.close();

}

}

《集合框架及泛型》上机实践内容

《集合框架及泛型》作业 一、根据课上讲解内容,完成演示示例和课堂练习 1、ArrayList获取并打印新闻标题 需求说明:按照以下实现的步骤,使用ArrayList获取和打印新闻标题,显示效果如下图所示: (1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性; (2)创建存储各类新闻标题的集合对象; (3)按照顺序依次添加各类新闻标题,使用add()方法; (4)获取新闻标题的总数,使用size()方法; (5)根据位置获取相应新闻标题、逐条打印每条新闻标题的名称,使用for 循环遍历。 2、ArrayList存储狗狗信息 需求说明:按照以下实现的步骤,使用ArrayList存储狗狗信息,使用ArrayList的方法对狗狗信息进行删除、读取和判断,显示效果如下图所示:(1)存储多条狗信息,获取狗总数,逐条打印出各条狗信息; (2)删除指定位置的狗,使用remove()方法; (3)判断集合中是否包含指定狗,使用contains()方法;

3、LinkedList添加和删除新闻标题 需求说明:在作业1的基础上,换用LinkedList存储新闻数据,并且使用LinkedList的getFirst()和getLast()方法获取第一条和最后一条数据,以及removeFirst()和removeLast()方法删除第一条和最后一条数据,输出效果如下图所示。 4、集合头尾位置删除和条件狗信息 需求说明:按照作业3的实现方式和所用到LinkedList的方法,实现狗狗信

息的更新并输出,输出效果如图所示。 5、使用Iterator和增强型for循环遍历Set 需求说明:按照以下实现的步骤,使用Iterator和增强型for循环遍历Set,输出效果如下图所示: (1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性; (2)创建存储各类新闻标题的集合对象; (3)按照顺序依次添加各类新闻标题; (4)获取新闻标题的总数; (5)使用iterator()获取Iterator对象; (6)使用Iterator遍历集合,使用hasNext()方法作为循环条件,判断是否存在另一个可访问的元素; (7)使用增强型for遍历集合;

实验十 泛型与集合框架

实验十泛型与集合框架 1.实验目的 1、掌握LinkedList类和Collections类提供的用于排序和查找链表中 的数据的方法 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——内容功能完善,编程风格良好,人机接口界面良好;

集合知识框架

内容 基本要求 集合的含义 会使用符号“∈”或“?”表示元素与集合之间的关系; 集合的表示 能选择自然语言、图形语言、集合语言描述不同的具体问题; 理解集合的特征性质,会用集合的特征性质描述一些集合,如常用数集,方程或不等式的解集等 集合间的基本关系 理解集合之间包含与相等的含义,及子集的概念.在具体情景中,了解空集和全集的含义; 理解两个集合的交集和并集的含义,会求两个简单集合的交集与并集.理解在给定集合中一个子集的补集的含义,会求给定子集的补集 集合的基本运算 掌握有关的术语和符号,会用它们表达集合之间的关系和运算.能使用维恩图表达集合之间的关系和运算. 1.集合:某些指定的对象集在一起成为集合。 (1)集合中的对象称元素,若a 是集合A 的元素,记作A a ∈;若b 不是集合A 的元素,记作A b ?; (2)集合中的元素必须满足:确定性、互异性与无序性; 确定性:设A 是一个给定的集合,x 是某一个具体对象,则或者是A 的元素,或者不是A 的元素,两种情况必有一种且只有一种成立; 互异性:一个给定集合中的元素,指属于这个集合的互不相同的个体(对象),因此,同一集合中不应重复出现同一元素; 无序性:集合中不同的元素之间没有地位差异,集合不同于元素的排列顺序无关; (3)表示一个集合可用列举法、描述法或图示法; 列举法:把集合中的元素一一列举出来,写在大括号内; 例如:{1,2,3,4,5},{1,2,3,4,5,} 描述法:把集合中的元素的公共属性描述出来,写在大括号{}内。 例如:大于3的所有整数表示为:{Z |3}x x ∈> 知识内容 高考要求 模块框架 集合

实验11泛型与集合

实验内容: (1)定义一个泛型类Instrument,其中包括一个泛型方法void play(E x)。定义两种乐器类:Cello、Violin 可以进行演奏。定义一个测试类进行测试。 package ex111; public class Violin { public String toString() { System.out.println("violin........."); return ""; } } package ex111; public class Test_Main { public static void main(String[] args) { instrumentmodel = new instrument(); instrumentmodel1 = new instrument(); Cello cello = new Cello(); Violin violin = new Violin(); model.play(cello); model1.play(violin); } } package ex111; class instrument {//泛型类 void play(E x) { x.toString(); } } package ex111; public class Cello { public String toString(){ System.out.println("cello........."); return ""; } } (2)输入10 个数字保存到List 中,并按倒序显示出来。 package ex112; import java.util.ArrayList; import java.util.Collections;

实验11泛型与集合

实验内容: (1)定义一个泛型类In strume nt,其中包括一个泛型方法void play(E x) 定义两种乐器类:Cello、Violin可以进行演奏。定义一个测试类进行测试。 package ex111; public class Violin { public String toStri ng() { System.out.println("violin ....... "); return ""; } } package ex111; public class Test_Ma in { public static void main( Stri ng[] args) { instrumentmodel = new instrument(); in strume ntvVioli n> model1 = new in strume ntvVioli n>(); Cello cello = new Cello(); Violin violin = new Violi n(); model.play(cello); model1.play(violi n); } } package ex111; class in strume nt {//泛型类void play(E x) { x.toStri ng(); } } package ex111; public class Cello { public Stri ng toStri ng(){ System.out.println("cello ....... "); return ""; } } (2)输入10个数字保存到List中,并按倒序显示出来 package ex112; import java.util.ArrayList; import java.util.Collectio ns; import java.util.List; import java.util.Sca nner; public class Test{ public static void main(final String[] args) { final List< In teger> in tegers = new ArrayListvl nteger>(); final Scanner sca nner = new Scann er(System.i n); for (int i = 1; i <= 3; i++) {

集合的简单练习题 并集合的知识点归纳

必修1 集合复习 知识框架: 1.1.1 集合的含义与表示 1.下列各组对象 ①接近于0的数的全体;②比较小的正整数全体;③平面上到点O 的距离等于1的点的全体; ④正三角形的全体;⑤2的近似值的全体.其中能构成集合的组数有( ) A .2组 B .3组 C .4组 D .5组 2.设集合M ={大于0小于1的有理数},N ={小于1050的正整数}, P ={定圆C 的内接三角形},Q ={所有能被7整除的数},其中无限集是( ) A .M 、N 、P B .M 、P 、Q C .N 、P 、Q D .M 、N 、Q 3.下列命题中正确的是( ) A .{x |x 2+2=0}在实数范围内无意义 B .{(1,2)}与{(2,1)}表示同一个集合 C .{4,5}与{5,4}表示相同的集合 D .{4,5}与{5,4}表示不同的集合 4.直角坐标平面内,集合M ={(x ,y )|xy ≥0,x ∈R ,y ∈R }的元素所对应的点是( ) A .第一象限内的点 B .第三象限内的点 C .第一或第三象限内的点 D .非第二、第四象限内的点 5.已知M ={m |m =2k ,k ∈Z },X ={x |x =2k +1,k ∈Z },Y ={y |y =4k +1,k ∈Z },则( ) A .x +y ∈M B .x +y ∈X C .x +y ∈Y D .x +y ?M 6.下列各选项中的M 与P 表示同一个集合的是( ) A .M ={x ∈R |x 2+0.01=0},P ={x |x 2=0} B .M ={(x ,y )|y =x 2+1,x ∈R },P ={(x ,y )|x =y 2+1,x ∈R } C .M ={y |y =t 2+1,t ∈R },P ={t |t =(y -1)2+1,y ∈R } D .M ={x |x =2k ,k ∈Z },P ={x |x =4k +2,k ∈Z } 7.由实数x ,-x ,|x |所组成的集合,其元素最多有______个. 8.集合{3,x ,x 2-2x }中,x 应满足的条件是______. 9.对于集合A ={2,4,6},若a ∈A ,则6-a ∈A ,那么a 的值是______. 10.用符号∈或?填空: ①1______N ,0______N .-3______Q ,0.5______Z ,2______R . ②2 1______R ,5______Q ,|-3|______N +,|-3|______Z . 11.若方程x 2+mx +n =0(m ,n ∈R )的解集为{-2,-1},则m =______,n =______. 12.若集合A ={x |x 2+(a -1)x +b =0}中,仅有一个元素a ,则a =______,b =______. 13.方程组?? ???=+=+=+321x z z y y x 的解集为______. 14.已知集合P ={0,1,2,3,4},Q ={x |x =ab ,a ,b ∈P ,a ≠b },用列举法表示集合Q =______. 15.用描述法表示下列各集合:

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。 2.掌握 Map 接口下 HashMap 及 HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在 main 方法编写逻辑代码 (3)运行程序并测试结果 package https://www.docsj.com/doc/536953466.html,; public class Student { private String name ; private int age ; private String id ;

public String getName() { return name ; } public void setName(String name ) { this . name =name ; } public int getAge() { return age ; } public void setAge(int age ) { this. age=age ; } public String getId() { return id; } public void setId(String id) { this. id=id; } public Student(String name ,int age , String id ) { super(); this. name =name ; this. age=age ; this. id=id; } public void sayHi() { System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId()); } }

Java集合框架实验报告

浙江大学城市学院实验报告 课程名称Java高级程序设计 实验项目名称Java集合框架实验 学生姓名专业班级学号 一、实验目的 1.理解Java集合框架的特点、接口与类之间的关系 2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList 3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet 4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap 5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式 二、实验内容 1、使用List管理对象集合 2、使用Map管理对象集合 3、使用Set管理对象集合 4、设计一个自定义的集合类 三、实验步骤 1、在Eclipse中新建工程(即项目) 2、使用List管理对象集合 1)新建一个包listExample 2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。 参考代码: Student、java, StudentList、java,StudentListTest、java 3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序, 给出具体的实现代码(不使用泛型类)。

void addStudent(Student student){//添加一个学生对象 boolean a=true; for(int i=0;i

JAVA实验报告-集合框架及泛型机制

Java语言程序设计C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日 一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识:

1.掌握List接口下ArrayList及LinkedList的使用方法。 2.掌握Map接口下HashMap 及HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用map存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在main方法编写逻辑代码 (3)运行程序并测试结果 package com、cn; public class Student { private String name; private int age; private String id; public String getName() { return name; } public void setName(String name) {

this、name = name; } public int getAge() { return age; } public void setAge(int age) { this、age = age; } public String getId() { return id; } public void setId(String id) { this、id = id; } public Student(String name, int age, String id) { super(); this、name = name; this、age = age; this、id = id; } public void sayHi() { System、out、println("name="+this、getName()+"age="+this、getAge()+" "+"id="+this、getId()); } } //Databace类 package com、cn; import java、util、Collection; import java、util、HashMap; import java、util、Iterator; public class Databace { private Student a; public Databace() { super(); map=new HashMap(); } public Student getA() { return a; }

实验11泛型与集合

实验内容: (1) 定义一个泛型类Instrument<E 〉,其中包括一个泛型方法void pla y(E x)。 定义两种乐器类:Cello、Violin 可以进行演奏。定义一个测试类进行测试. package ex111; public class Violin{ publicString toString() { System、out、println("violin、、、、、、、、、"); return ””; } } package ex111; public class Test_Main{ public staticvoid main(String[]args){ instrument〈Cello>model = new instrument〈Cello〉(); instrument

第一章 集合与常用逻辑用语知识结构

第一章 集合与常用逻辑用语知识结构 【知识概要】 一、集合的概念、关系与运算 ●1. 集合中元素的特性:确定性、互异性、无序性. ●2. 集合的表示方法:列举法、描述法. 图示法表示,常用的集合符号,如 ,,,,,,N N N Z R Q φ*+ ●3. 元素与集合的关系:我们把研究对象统称为元素,把一些元素组成的总体叫做集合,若元素x 是集合A 的元素,则x A ∈,否则x A ?。 ●4. 集合与集合之间的关系: ①子集:若x A ∈,则x B ∈,此时称集合A 是集合B 的子集,记作A B ?。 ②真子集:若A B ?,且存在元素x B ∈,且x A ?,则称A 是B 的真子集,记作:A B . ③相等:若A B ?,且A B ?,则称集合A 与B 相等,记作A =B .。 ●5. 集合的基本运算: ①交集:{}A B x x A x B =∈∈I 且 ②并集:{}A B x x A x B =∈∈U 或 ③补集:{|,}U C A x x U x A =∈?且,其中U 为全集,A U ?。 ●6. 集合运算中常用结论: ①,,A A A A A B B A φφ===I I I I ,A B A A B =??I 。 ②,,A A A A A A B B A φ===U U U U ,A B A B A =??U 。 ③()U A C A U =U ,()U C A A ?=I , ()()(U U U C A B C A C B =I U ,()()()U U U C A B C A C B =U I 。 ④由n 个元素所组成的集合,其子集个数为2n 个。真子集个数为2n -1,非空 真子集个数为2n -2 ⑤空集是任何集合的子集,即A ?? 一、选择题 1.已知全集U ={1,2,3,4,5,6,7,8},M ={1,3,5,7},N ={5,6,7},则?U (M ∪N )=( ) A .{5,7} B .{2,4} C .{2,4,8} D .{1,3,5,6,7} ? ≠

实验6 泛型与集合框架_附答案

任务一:用LinkedList存放对象 1.利用面向对象的思想,创建以下类: ●Person类,包含Person的姓名和身份证号码,覆盖Object类的toString() 方法,显示“姓名:XXX 身份证号:XXX”。 ●Student类,继承Person类,包含学生的语文、数学、英文课的成绩,并覆盖 父类的toString()方法,显示“姓名:XXX 身份证号:XXX 语文:XXX 数学:XXX 英文:XXX”。 ●Teacher类,继承Person类,包含教师的工资。并覆盖父类的toString()方 法,显示“姓名:XXX 身份证号:XXX 工资:XXX”。 ●public class Person implements Comparable{ ●String name; ●String ID; ●Person(String s,String i){ ●name=s; ●ID=i; } ●public String toString() { ●String str="姓名:"+name+" 身份证号码:"+ID; ●return str; } ●public int compareTo(Object arg0) { ●Person p=(Person)arg0; ●return https://www.docsj.com/doc/536953466.html,pareTo(p.ID); } } ●class Student extends Person { ●int Chinese; ●int Math; ●int English; ●Student(String n,String i,int c,int m,int e){ ●super(n,i); ●Chinese=c; ●Math=m; ●English=e; } ●public String toString() { ●String str; ●str=" 语文成绩:"+Chinese+" 数学成绩:"+Math+" 英语成绩: "+English; ●return super.toString()+str; ●} ●} ●class Teacher extends Person{ ●int salary; ●Teacher(String n,String i,int s){ ●super(n,i); ●salary=s; ●}

实验七:Java集合与泛型

实验七Java集合与泛型 一、实验目的 1)掌握集合的概念、体系结构、分类及使用场景 2)了解Set接口及主要实现类(HashSet、TreeSet) 3)了解List接口及主要实现类(ArrayList、LinkedList、Vector) 4)掌握ArrayList的使用 5)掌握ArrayList与Vector的区别 6)了解Map接口及主要实现类(HashMap、TreeMap、HashTable) 7)掌握HashMap的使用 8)掌握HashMap与HashTable的区别 二、实验环境 JDK1.6+Eclpise3.2 三、实验准备 1)复习课件中理论知识 2)练习课堂所讲的例子 四、实验内容 1、编写程序练习List集合的基本使用: 1) 创建一个只能容纳String对象名为names的ArrayList集合; 2)按顺序往集合中添加5个字符串对象:“张三”、“李四”、“王五”、“马六”、“赵七”; 3)对集合进行遍历,分别打印集合中的每个元素的位置与内容; 4)首先打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。 2、编写程序练习Map集合的基本使用: 1)创建一个只能值只能容纳String对象的person的HashMap集合; 2)往集合中添加5个“键-值”对象:id—>”1”、name—>”张三”、sex—>”男”、age—>”25”、love—>”爱学Java” 3)对集合进行遍历,分别打印集合中的每个元素的键与值; 4)首先打印集合的大小,然后删除集合中的键为age的元素,并显示删除元素的内容,并再次打印集合的大小。 五、验过程及结果 第1题调试结果如下图:

Java集合框架的知识总结

Java集合框架的知识总结 说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 1、综述 所有集合类都位于java.util包下。集合中只能保存对象(保存对象的引用变量)。(数组既可以保存基本类型的数据也可以保存对象)。 当我们把一个对象放入集合中后,系统会把所有集合元素都当成Object类的实例进行处理。从JDK1.5以后,这种状态得到了改进:可以使用泛型来限制集合里元素的类型,并让集合记住所有集合元素的类型(参见具体泛型的内容)。 Java的集合类主要由两个接口派生而出:Collection和Map,Col lection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类。

Set和List接口是Collection接口派生的两个子接口,Queue是Java提供的队列实现,类似于List。 Map实现类用于保存具有映射关系的数据(key-value)。 Set、List和Map可以看做集合的三大类。 List集合是有序集合,集合中的元素可以重复,访问集合中的元素可以根据元素的索引来访问。 Set集合是无序集合,集合中的元素不可以重复,访问集合中的元素只能根据元素本身来访问(也是不能集合里元素不允许重复的原因)。 Map集合中保存Key-value对形式的元素,访问时只能根据每项元素的k ey来访问其value。 对于Set、List和Map三种集合,最常用的实现类分别是HashSet、ArrayLi st和HashMap三个实现类。(并发控制的集合类,以后有空研究下)。2、Collection接口 Collection接口是List、Set和Queue接口的父接口,同时可以操作这三个接口。Collection接口定义操作集合元素的具体方法大家可以参考API文档,这里通过一个例子来说明Collection的添加元素、删除元素、返回集合中元素的个数以及清空集合元素的方法。 public class TestCollection {

集合.知识框架

集合 内容基本要求 集合的含义会使用符号或堡”表示元素与集合之间的关系; 集合的表示能选择自然语言、图形语言、集合语言描述不同的具体问题; 理解集合的特征性质,会用集合的特征性质描述一些集合,如常用数集,方程或不等式的解集等 集合间的基本关系理解集合之间包含与相等的含义,及子集的概念.在具体情景中,了解空集和全集的含义; 理解两个集合的交集和并集的含义,会求两个简单集合的交集与 并集.理解在给定集合中一个子集的补集的含义,会求给定子集 的补集 集合的基本运算掌握有关的术语和符号,会用它们表达集合之间的关系和运算. 能使用维恩图表达集合之间的关系和运算. :hL知识内容 i?集合:某些指定的对象集在一起成为集合 (1)集合中的对象称元素,若a是集合A的元素,记作a?A ;若b不是集合A的元素, 记作b 'A; (2)集合中的元素必须满足:确定性、互异性与无序性; 确定性:设A是一个给定的集合,x是某一个具体对象,则或者是A的元素,或者不是A的元素,两种情况必有一种且只有一种成立; 互异性:一个给定集合中的元素,指属于这个集合的互不相同的个体(对象),因 此,同一集合中不应重复出现同- 」元素; 无序性:集合中不同的元素之间没有地位差异,集合不同于元素的排列顺序无关; (3)表示一个集合可用列举法、描述法或图示法; 模块框

列举法:把集合中的元素一一列举出来,写在大括号内; 例如:{1, 2, 3, 4, 5} , {1, 2, 3, 4, 5,卅 描述法:把集合中的元素的公共属性描述出来,写在大括号{}内。 例如:大于3的所有整数表示为:{X- Z|x 3} 方程x2 -2x -5 =0的所有实数根表示为:{x?R | x2—2x —5=0} 具体方法:在大括号内先写上表示这个集合元素的一般符号及取值(或变化)范围, 再画一条竖线,在竖线后写出这个集合中元素所具有的共同特征。 注意:列举法与描述法各有优点,应该根据具体问题确定采用哪种表示法,要注意, 一般集合中元素较多或有无限个元素时,不宜采用列举法。 (4)常用数集及其记法: 非负整数集(或自然数集),记作N ; * 正整数集,记作N或N ; 整数集,记作Z; 有理数集,记作Q; 实数集,记作R。 <教师备案>(1)集合是数学中最原始的概念之一,不能用其他的概念给它下定义,所以集合是不定义的概念,只能做描述性的说明. ⑵构成集合的元素除了常见的数、式、点等数学对象之外,还可以是其他任何.. 对象. 例:{小明,机器猫,哈里波特} ⑶正确认识一个集合的关键是理解集合中的元素特征. ①任何一个对象都能确定它是不是某一个集合的元素,这是集合中元素的最基本的 特征一一确定性,反例:“很小的数”,“个子较高的同学”; ②集合中的任何两个元素都是不同的对象,即在同一集合里不能重复出现相同元素 一一互异性,事实告诉我们,集合中元素的互异性常被忽略,从而导致解题出 错.例:方程(X-1)2(X-2)=0的解集不能写成{1,1,2},而应写成{1,2} ③在同一集合里,通常不考虑元素之间的顺序一一无序性 例:集合{a,b,c}与集合{b,c,a}是相同集合

学号姓名--集合框架与泛型实验报告

浙江大学城市学院实验报告 课程名称面向对象程序设计 实验项目名称集合框架与泛型 学生姓名专业班级学号 一. 实验目的和要求 1. 了解Java集合框架的接口和实现类 2. 理解泛型类、泛型接口、泛型方法的特点 3. 掌握List接口及其实现类LinkedList、ArrayList 4. 了解Set接口及其实现类HashSet、TreeSet 5. 了解Map及其实现类HashMap、TreeMap 二. 实验内容 1. 分析Java集合框架的接口和实现类的组成 2. 分析泛型类、泛型接口、泛型方法的特点 3. 编程实现:设计学生管理类StudentManager(用List集合管理学生对象) 4. 选作-编程实现:设计学生管理类StudentManager(用Set集合管理学生对象) 5. 选作-编程实现:设计学生管理类StudentManager(用Map管理学生对象) 三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果) 1. 分析Java集合框架的接口和实现类的组成 请查阅书籍和Java帮助文档,说明Java集合框架的接口组成以及它们的继承关系,并针对每个接口给出具体的实现类。 答: 2. 分析泛型类、泛型接口、泛型方法的特点 请查阅书籍和Java帮助文档,举例说明泛型类、泛型接口、泛型方法的特点。 答: 3. 编程实现:设计学生管理类StudentManager(用List集合管理学生对象)。 StudentManager类的功能包括添加学生、查询学生、删除学生、统计学生成绩等。需要设计表示学生对象的Student类,并用LinkedList或ArrayList集合来管理可被数量的学生对象。另外还需要设计测试类Test来验证StudentManager的功能。 4. 编程实现:设计学生管理类StudentManager(用Set集合管理学生对象)。具体功能 要求同第3题,但是需要用Set的实现类(比如HashSet、TreeSet)管理学生对象。

集合与简易逻辑知识点总结

集合、简易逻辑 知识梳理: 1、 集合:某些指定的对象集在一起就构成一个集合。集合中的每一个对象称为该集合的元素。 元素与集合的关系:A a ∈或A a ? 集合的常用表示法: 列举法 、 描述法 。集合元素的特征: 确定性 、 互异性 、 无序性 。 常用一些数集及其代号:非负整数集或自然数集N ;正整数集*N ,整数集Z ;有理数集Q ;实数集R 2、子集:如果集合A 的任意一个元素都是集合B 的元素,那么集合A 称为集合B 的子集,记为A ?B 3、真子集:如果A ?B ,并且B A ≠,那么集合A 成为集合B 的真子集,记为A ?B ,读作“A 真包含于B 或B 真包含A ”,如:}{}{b a a ,?。 注:空集是任何集合的子集。是非空集合的真子集 结论:设集合A 中有n 个元素,则A 的子集个数为n 2个,真子集个数为12-n 个 4、补集:设A ?S ,由S 中不属于A 的所有元素组成的集合称为S 的子集A 的补集,记为A C s ,读作“A 在S 中的补集”,即A C s =}{A x S x x ?∈且,|。 5、全集:如果集合S 包含我们所要研究的各个集合,这时S 可以看作一个全集。通常全集记作U 。 6、交集:一般地,由所有属于集合A 且属于B 的元素构成的集合,称为A 与B 的交集,记作B A ?即:B A ?=}{B x A x x ∈∈且,|。 7、并集:一般地,由所有属于集合A 或属于B 的元素构成的集合,称为A 与B 的并集,记作B A ?即:B A ?=}{B x A x x ∈∈或,|。 记住两个常见的结论:B A A B A ??=?;A B A B A ??=?; 9、命题:可以判断真假的语句叫做命题。(全称命题 特称命题) ⑴全称量词——“所有的”、“任意一个”等,用“?”表示; 全称命题p :)(,x p M x ∈?; 全称命题p 的否定?p :)(,x p M x ?∈?。 ⑵存在量词——“存在一个”、“至少有一个”等,用“?”表示; 特称命题p :)(,x p M x ∈?; 特称命题p 的否定?p :)(,x p M x ?∈?; 10、“或”、“且”、“非”这些词叫做逻辑联结词;不含有逻辑联结词的命题是简单命题;由简单命题和逻辑联结词“或”、“且”、“非”构成的命题是复合命题。构成复合命题的形式:p 或q ;p 且q ;非p(记作┑q) 。 11、“或”、“且”、“非”的真值判断:

泛型与集合框架

泛型与集合框架 1.实验目的 1、掌握LinkedList类和Collections类提供的用于排序和查找链表中 的数据的方法 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——完成必做内容;

最新江苏省高中数学知识点体系框架超全超完美

数轴、V een 图、函数图象 集合 集合元素的特性 确定性、互异性、无序性 集合的分类 有限集 无限集空集φ 集合的表示 列举法、特征性质描述法、V een 图法 集合的基本关系 真子集 子集几何相等性质 集合的基本运算 补集 交集q p 并集q p . p q ,则逆命题:若. q p ,则原命题:若. q p ,则否命题:若.p q ,则逆否命题:若互为逆否互逆 互逆 互否 互否 四种命题 . 000)8()7()6(22)5()4()3()2()1(1 ,表示空集,表示集合, ,区别:,,的集合; 表示只有一个元素表示元素, 区别:一般地,与表示集合与集合关系; 表示元素与集合关系,的区别:,个真子集; 有个子集,个元素的集合有含有;,则,若; 或则则;真子集; 空集是任何非空集合的a a a a a n C A C B B A B A B A B A A A n n ; ;结合律:; ; 分配律:; ; ;;; 或,,;,,,C B A C B A C B A C B A C A B A C B A C A B A C B A B C A C B A C A A C C A C A U A C A B A B A B A A B A B A B A A B A A A A A A A A A A U U U U U U U )6()5()4()3()2()1( 基本逻辑 联结词 或 q p 或 且 非q p q p 量词 全称量词存在量词 全称命题存在命题 00::x p M x p x p M x p ,;则,若 x p M x p x p M x p ,;则,若::00否定 第一部分集合与简易逻辑 退出 上一页 函数与方程区间 建立函数模型 抽象函数复合函数分段函数求根法、二分法、图象法;一元二次方程根的分布 单调性:同增异减赋值法,典型的函数零点函数的应用 A 中元素在 B 中都有唯一的象;可一对一(一一映射),也可多对一,但不可一对多 函数的基本性质 单调性奇偶性周期性对称性 最值 1.求单调区间:定义法、导数法、用已知函数的单调性。 2.复合函数单调性:同增异减。 1.先看定义域是否关于原点对称,再看f (-x )=f (x )还是-f (x ). 2.奇函数图象关于原点对称,若x =0有意义,则f (0)=0. 3.偶函数图象关于y 轴对称,反之也成立。 f (x +T)=f (x );周期为T 的奇函数有:f (T)=f (T/2)= f (0)=0.二次函数、基本不等式,对勾函数、三角函数有界性、线性规划、导数、利用单调性、数形结合等。 函数的概念 定义 列表法解析法图象法 表示 三要素使解析式有意义及实际意义 常用换元法求解析式 观察法、判别式法、分离常数法、单调性法、最值法、重要不等式、三角法、图象法、线性规划等 定义域 对应关系值域 函数常见的几种变换平移变换、对称变换翻折变换、伸缩变换 基本初等函数正(反)比例函数、一次(二次)函数幂函数 指数函数与对数函数三角函数 定义、图象、性质和应用 函数 映 射 第二部分映射、函数、导数、定积分与微积分 退出上一页

相关文档
相关文档 最新文档