【慕课笔记】第四章 JAVA中的集合框架(上) 第6节 学生选课—课程查询

来源:互联网 发布:随机信号分析 知乎 编辑:程序博客网 时间:2024/05/22 10:51

第6节 学生选课—课程查询


List中元素有序且可重复

package com.imooc.collection;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.util.List;//备选课程类public class ListTest {/** * 用于存放备选课程的List * @param args */public List coursesToSelect;public ListTest(){this.coursesToSelect=new ArrayList();//List是接口,实例化使用ArrayList类}public void testAdd(){Course cr1=new Course("1","数据结构");coursesToSelect.add(cr1);Course temp=(Course)coursesToSelect.get(0);//对象存入集合都变成Object类型,取出时需要类型转换System.out.println("添加了课程"+temp.id+":"+temp.name);Course cr2=new Course("2","C语言");coursesToSelect.add(0,cr2);Course temp1=(Course)coursesToSelect.get(0);System.out.println("添加了课程"+temp1.id+":"+temp1.name);coursesToSelect.add(cr1);Course temp6=(Course)coursesToSelect.get(2);//对象存入集合都变成Object类型,取出时需要类型转换System.out.println("添加了课程"+temp6.id+":"+temp6.name);//以下方法会抛出数组小标越界异常//Course cr3=new Course("3","计算机网络");//coursesToSelect.add(4,cr3);//目前数组长度为2,只能访问位置0、1,不能访问位置3Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};coursesToSelect.addAll(Arrays.asList(course));//将数组转换成ListCourse temp2=(Course)coursesToSelect.get(3);Course temp3=(Course)coursesToSelect.get(4);System.out.println("添加了课程"+temp2.id+":"+temp2.name);System.out.println("添加了课程"+temp3.id+":"+temp3.name);Course[] course1={new Course("5","高等数学"),new Course("6","大学英语")};coursesToSelect.addAll(2,Arrays.asList(course1));Course temp4=(Course)coursesToSelect.get(2);Course temp5=(Course)coursesToSelect.get(3);System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");System.out.println("添加了课程"+temp4.id+":"+temp4.name);System.out.println("添加了课程"+temp5.id+":"+temp5.name);}public void testGet(){System.out.println("已选课程如下:");int size=coursesToSelect.size();for(int i=0;i<size;i++){Course cr=(Course)coursesToSelect.get(i);System.out.println("课程"+cr.id+":"+cr.name);}}//通过迭代器来遍历Listpublic void testIterator(){//通过集合的iterator方法,取得迭代器的实例//迭代器不能存储Iterator it=coursesToSelect.iterator();//Iterator是collection的一个借口System.out.println("有如下课程待选(通过迭代器遍历):");while(it.hasNext()){Course cr=(Course)it.next();System.out.println("课程"+cr.id+":"+cr.name);}}//通过for each方法访问集合元素,相当于简便的迭代器public void testForEach(){System.out.println("有如下课程待选(通过foreach遍历):");for(Object obj:coursesToSelect){//先定义一个变量,然后是所要遍历的集合Course cr=(Course)obj;//当一个对象存入的时候,类型是忽略的;取出的时候往往需要强制转换System.out.println("课程"+cr.id+":"+cr.name);}}public static void main(String[] args) {// TODO Auto-generated method stubListTest lt=new ListTest();lt.testAdd();lt.testGet();lt.testIterator();lt.testForEach();}}



0 0
原创粉丝点击