Java集合框架提供了一套性能优良、使用方便的
接口和类,它们位于java.util包中
package entity;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Student {
private String name; // 学员姓名
private String sex; // 学员性别
public Student() {
}
public Student(String name, String sex) {
this.name = name;
this.sex = sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public static void main(String[] args) {
// 1、创建学员对象
Student student1 = new Student("李明", "男");
Student student2 = new Student("刘丽", "女");
// 2、创建保存“键-值对”的集合对象
Map students = new HashMap();
// 3、把英文名称与学员对象按照“键-值对”的方式存储在HashMap中
students.put("Jack", student1);
students.put("Rose", student2);
// 4、打印键集
System.out.println("键集:"+students.keySet());
// 5、打印值集
System.out.println("值集:"+students.values());
// 6、打印键-值对集合
System.out.println("键-值对集合:"+students);
// 7、使用iterator 取得键值对
System.out.println("使用迭代器Iterator取得Map里键值对:");
Set keys = students.keySet();
Iterator itor = keys.iterator();
while(itor.hasNext()){
String key =(String)itor.next();
Student stu=(Student)students.get(key);
System.out.println(key+"--"+stu.getName()+"--"+stu.getSex());
}
// 8、使用entrySet()获取Map所有的键值对集合(Set类型)
System.out.println("使用entrySet()获取Map所有的键值对集合(Set类型):");
// entrySet() 里面的元素是Map.Entry类型,注意类型转换。
Set set = students.entrySet();
for(Object obj:set){
String key = (String)((Map.Entry)obj).getKey();
Student stu=(Student)((Map.Entry)obj).getValue();
System.out.println(key+"--"+stu.getName()+"--"+stu.getSex());
}
String key = "Jack";
// 9、判断是否存在”Jack”这个键
if(students.containsKey(key)){
// 10、如果存在,根据键获取相应的值
Student student = (Student)students.get(key);
System.out.println(key+"对应的学员姓名是:"+student.getName()+";性别是:"+student.getSex());
}
}
}