第十七次 Java作业

1、集合框架

概念与作用

集合的概念:

在现实生活中:很多的事物凑在一起

数学中的集合:具有共同属性的事物发总体,例如有理数和整数。

java中的集合类:是一种工具类,就像是容器,储存任意数的具有共同属性的对象。

集合的作用:

1、在类的内部,对数据进行组织;

2、简单而快速的搜索大数量的条目;

3、有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;

4、有的集合接口,提供了映射关系,可以通过关键字(key)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

 与数组的对比-----为何选择集合而不是数组?
>数组的长度固定,集合长度可变
>数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象

体系结构 :

 2、Collection接口、子接口以及实现类

Collection接口:

>是List、Set和Queue接口的父接口

>定义了可用于操作List、Set和Queue的方法增删查改

List接口及其实现类——ArrayList

>List是元素有序并且可以重复的集合,被称为序列

> List可以精确的控制每个元素的插入位置,或删除某个位置

>ArrayList——数组序列,是List的一个重要实现类

>ArrayList底层是由数组实现的

 实现功能——模拟学生选课系统

>选择课程(往集合中添加课程)

>删除所选的某门课程(删除集合中的元素)

>查看所选课程

>修改所选课程

3、创建学生类和课程类 

创建学生类,代码如图所示:

创建课程类,代码如图所示:

 

4、添加课程  

第一步:添加课程1

代码如图所示:

运行结果如图所示: 

第二步:添加课程2

代码如图所示:

运行结果如图所示: 

第三步:异常

代码:

package DiShiQiCiJavaZuoYe;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * 备选课程类
 * @author abc25
 *
 */
public class ListTest {
/**
 * 用于存放备选课程的List
 */
 public List coursesToSelect;
 public ListTest() {
  this.coursesToSelect = new ArrayList();
 }
 /**
  * 用于往coursesToSelect中添加备选课程
  */
 public void testAdd() {
  //创建一个课程对象,并通过调用add方法,添加到备选课程List中
  Course cr1 = new Course("1","数据结构");
  coursesToSelect.add(cr1);
  Course temp = (Course) coursesToSelect.get(0);
  System.out.println("添加了课程:" + temp.id +":" + temp.name);; 
  Course cr2 = new Course("2","C语言");
  coursesToSelect.add(0,cr2);
  Course temp2 =(Course)coursesToSelect.get(0);
  System.out.println("添加了课程:" + temp2.id + ":" + temp2.name);
  Course cr3 = new Course("3","test");
  coursesToSelect.add(4,cr3);
     }
 public static void main(String[] args) {
  ListTest It = new ListTest();
  It.testAdd();
     }
}

运行结果如图所示:  

 第四步:添加课程3和课程4

代码:

package DiShiQiCiJavaZuoYe;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * 备选课程类
 * @author abc25
 *
 */
public class ListTest { 
/**
 * 用于存放备选课程的List
 */
 public List coursesToSelect;
 
 public ListTest() {
  this.coursesToSelect = new ArrayList();
 }
 /**
  * 用于往coursesToSelect中添加备选课程
  */
 public void testAdd() {
  //创建一个课程对象,并通过调用add方法,添加到备选课程List中
  Course cr1 = new Course("1","数据结构");
  coursesToSelect.add(cr1);
  Course temp = (Course) coursesToSelect.get(0);
  System.out.println("添加了课程:" + temp.id +":" + temp.name);;
 
  Course cr2 = new Course("2","C语言");
  coursesToSelect.add(0,cr2);
  Course temp2 =(Course)coursesToSelect.get(0);
  System.out.println("添加了课程:" + temp2.id + ":" + temp2.name);
 
  //以下方法会抛出数组下标越界异常
  //Course cr3 = new Course("3","test");
  //coursesToSelect.add(4,cr3);
  
  Course[] course = {new Course("3","离散数学"),new Course("4","汇编语言")};
  coursesToSelect.addAll(Arrays.asList(course));
  Course temp3 = (Course) coursesToSelect.get(2);
  Course temp4 = (Course) coursesToSelect.get(3);
  
  System.out.println("添加了两门课程:" + temp3.id + ":" + temp3.name + ";" + temp4.id + ":" + temp4.name);
 }
 public static void main(String[] args) {
  ListTest It = new ListTest();
  It.testAdd();
 }
}

运行结果如图所示:  

第五步:添加课程5、课程6

代码:

package DiShiQiCiJavaZuoYe;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
 * 备选课程类
 * @author abc25
 *
 */
public class ListTest { 
/**
 * 用于存放备选课程的List
 */
 public List coursesToSelect;
 public ListTest() {
  this.coursesToSelect = new ArrayList();
 }
 /**
  * 用于往coursesToSelect中添加备选课程
  */
 public void testAdd() {
  //创建一个课程对象,并通过调用add方法,添加到备选课程List中
  Course cr1 = new Course("1","数据结构");
  coursesToSelect.add(cr1);
  Course temp = (Course) coursesToSelect.get(0);
  System.out.println("添加了课程:" + temp.id +":" + temp.name);
  Course cr2 = new Course("2","C语言");
  coursesToSelect.add(0,cr2);
  Course temp2 =(Course)coursesToSelect.get(0);
  System.out.println("添加了课程:" + temp2.id + ":" + temp2.name);
  //以下方法会抛出数组下标越界异常
  //Course cr3 = new Course("3","test");
  //coursesToSelect.add(4,cr3);
  
  Course[] course = {new Course("3","离散数学"),new Course("4","汇编语言")};
  coursesToSelect.addAll(Arrays.asList(course));
  Course temp3 = (Course) coursesToSelect.get(2);
  Course temp4 = (Course) coursesToSelect.get(3);
  System.out.println("添加了两门课程:" + temp3.id + ":" + temp3.name + ";" + temp4.id + ":" + temp4.name);
  Course[] course2 = {new Course("5","高等数学"),new Course("6","大学英语")};
  coursesToSelect.addAll(2,Arrays.asList(course2));
  Course temp5 = (Course) coursesToSelect.get(2);
  Course temp6 = (Course) coursesToSelect.get(3);
  System.out.println("添加了两门课程:" + temp5.id + ":" + temp5.name 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值