集合框架
主要学习了java.util.*包下的三大
接口。
Java.util.Set 该接口及其子类提供的是一个无序的集合,无法索引,可以用来统计包含有哪些。
Java.util.List 该接口及其子类提供的一个有序的集合,可以索引,比如元素之前五子棋项目中
队列的应用。
Java.util.Map 该接口及其子类提供一个对应关系或者说映射关系的集合,即每个唯一的key,都有一个value对应,映射吗,这个我的
理解是相当于函数里的唯一的x对应一个y。
下面是这三大接口的应用的程序(见
注释当中):
class="java" name="code">
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=new Test();
test.testset();//测试SET接口
test.testarraylist();//测试LIST
test.testmap();//测试map接口
}
public void testset(){
//创建一个HashSet,是Set接口的一个实现类
HashSet<Student> stest=new HashSet<Student>();
//为set中添加5个学生对象
for(int i=0;i<5;i++){
Student stu=new Student("学生"+i, 10*i);
stest.add(stu);
}
//获取set中的迭代器
Iterator<Student> it=stest.iterator();
System.out.println("这是集合里的对象包括:");
//用迭代器遍历
while(it.hasNext()){
it.next().showInfo();
}
// //遍历set,与上面用迭代器效果差不多
// for(Student s : stest){
// s.showInfo();
// }
stest.clear();//清空set里数据
System.out.println(stest.isEmpty());//判断stest是否为空
}
public void testarraylist(){
//这是熟悉的队列,(List接口的一个实现类)指定类型为Student,
//队列的方法可见五子棋项目
ArrayList <Student> list=new ArrayList<Student>();
}
public void testmap(){
//新建一个hashmap,map的一个实现类
Map<String,String> map=new HashMap<String, String>();
for(int i=0;i<5;i++){
map.put("学生"+i, "学分"+10*i);
}
//将map中的key组成一个set
Set<String> key=map.keySet();
for(String s : key){
System.out.println(s);
}
//将key和value打包成entry类型的一个set
Set<Entry<String,String>> entry=map.entrySet();
//遍历entry,打印key和value
for(Entry<String,String> s: entry){
System.out.println(s.getKey());
System.out.println(s.getValue());
}
}
}