一、实验目的
1.掌握HashSet和TreeSet的常用方法
2.掌握HashMap和TreeMap的使用方法
二、实验硬、软件环境
Windows计算机和Eclipse软件
三、实验内容及步骤
1.创建Map集合,创建Emp对象,并将Emp对象添加到集合中(Emp对象的id作为Map集合的键),并将id为015的对象从集合中移除。
实验步骤:
(1)创建Emp类:
public class Emp {
private String id;
private String name;
public Emp() {
}
public Emp(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(2)创建Test类测试:
public class Test1 {
public static void main(String[] args) {
Map map=new HashMap();
Emp emp1=new Emp("015","张三");
Emp emp2=new Emp("033","李四");
map.put(emp1.getId(),emp1.getName());
map.put(emp2.getId(),emp2.getName());
Collection coll=map.values();
Iterator it= coll.iterator();
System.out.println("移除前集合中的元素:");
while (it.hasNext()){
System.out.println(it.next());
}
map.remove("015");
Collection coll2=map.values();
Iterator it2= coll2.iterator();
System.out.println("移除后集合中的元素:");
while (it2.hasNext()){
System.out.println(it2.next());
}
}
}
2.使用泛型集合HashSet和Map存储企鹅信息。并使用Iterator和for each遍历该集合。
实验步骤:
创建企鹅类:
public class Spheniscidae {
private String id;
private String name;
public Spheniscidae() {
}
public Spheniscidae(String id, String name) {
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
(1)使用泛型集合HashSet,创建Test类测试:
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Test2_1 {
public static void main(String[] args) {
Set
set.add(new Spheniscidae("123","小红"));
set.add(new Spheniscidae("456","小黄"));
set.add(new Spheniscidae("789","小绿"));
System.out.println("使用迭代器:");
System.out.println(" ID 名称:");
Iterator
while (it.hasNext()){
Spheniscidae sphen= it.next();
System.out.println(sphen.getId()+" "+sphen.getName());
}
System.out.println("使用增强for:");
System.out.println(" ID 名称:");
for (Spheniscidae n:set){
System.out.println(n.getId()+" "+n.getName());
}
}
}
(2)使用泛型集合Map,创建Test类测试:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Test2_2 {
public static void main(String[] args) {
Map
map.put(1,new Spheniscidae("456","小红"));
map.put(2,new Spheniscidae("123","小黄"));
map.put(3,new Spheniscidae("789","小绿"));
System.out.println("使用迭代器:");
System.out.println(" ID 名称:");
Set
Iterator
while (it.hasNext()){
Integer key=it.next();
Spheniscidae sphen=map.get(key);
System.out.println(key+" "+sphen.getId()+" "+sphen.getName());
}
System.out.println("使用增强for:");
System.out.println(" ID 名称:");
for (Map.Entry
int key=entry.getKey();
Spheniscidae sphen= entry.getValue();
System.out.println(key+" "+sphen.getId()+" "+sphen.getName());
}
}
}
四、实验结果及分析
实验结果
1、
2、
实验分析
通过本次实验,掌握了HashSet和TreeSet的常用方法以及HashMap和TreeMap的使用方法。
HashSet类实现Set接口,由散列表支持。不保证Set的迭代顺序,特别是它不保证该顺序恒久不变。此类允许使用null元素。
TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增顺序。