package com.collection;
/**
* 课程类
* @author my-mac
*
*/
public class Course {
public String id;
public String name;
public Course() {
// TODO Auto-generated constructor stub
}
public String getId() {
return id;
}
public void setId(String id) {
if(id == ""){
System.out.println("请输入id");
}else{
this.id = id;
}
}
public String getName() {
return name;
}
public void setName(String name) {
if(name == ""){
System.out.println("请输入name");
}else{
this.name = name;
}
}
public Course(String id, String name){
this.setId(id);
this.setName(name);
}
}
package com.collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
/**
* 备选课程类
* @author my-mac
*
*/
public class ListTest {
public List courseToSelect;// 存放备选课程的List
public ListTest(){
// List是一个接口,不能直接将它实例化
this.courseToSelect = new ArrayList();
}
public void testAdd(){
Course cr1 = new Course("1", "数据结构");
courseToSelect.add(cr1);
Course temp = (Course)courseToSelect.get(0);
System.out.println("添加了课程:" + temp.id + ":" + temp.name);
Course cr2 = new Course("2", "C语言");
courseToSelect.add(0, cr2);
Course temp2 = (Course)courseToSelect.get(0);
System.out.println("添加了课程:" + temp2.id + ":" + temp2.name);
courseToSelect.add(cr1);
Course temp0 = (Course)courseToSelect.get(2);
System.out.println("添加了课程:" + temp0.id + ":" + temp0.name);
// int[] num = {1,2,3};
// 这里的数组声明定义就像:int[] num = {1,2,3};
Course[] course = {new Course("3", "离散数学"), new Course("4", "汇编语言")};
courseToSelect.addAll(Arrays.asList(course));
Course temp3 = (Course)courseToSelect.get(3);
Course temp4 = (Course)courseToSelect.get(4);
System.out.println("添加了两门课程:" + temp3.id + ":" + temp3.name + ", " + temp4.id + ":" + temp4.name);
Course[] course2 = {new Course("5", "高等数学"), new Course("6", "计算机英语")};
courseToSelect.addAll(2, Arrays.asList(course2));
Course temp5 = (Course)courseToSelect.get(2);
Course temp6 = (Course)courseToSelect.get(3);
System.out.println("添加了两门课程:" + temp5.id + ":" + temp5.name + ", " + temp6.id + ":" + temp6.name);
}
/**
* 取得List中的元素方法
* @param args
*/
public void testGet(){
int size = courseToSelect.size();
for (int i = 0; i <size; i++) {
Course temp = (Course)courseToSelect.get(i);
System.out.println("第"+ i +"门课程:" + temp.id + ":" + temp.name);
}
}
/**
* 通过迭代器来遍历List
* 注意:迭代器是用来遍历元素的,不具备存储元素的功能
* 它是依赖某个集合而存在的,本身不能独立存在
* @param args
*/
public void testIterator(){
Iterator it = courseToSelect.iterator();
System.out.println("有如下待选课程(通过迭代器访问):");
while (it.hasNext()) {
Course cr = (Course) it.next();
System.out.println("课程:" + cr.id + ":" + cr.name);
}
}
/**
* 通过for each方法访问元素
* 它相当于迭代器的简便写法
* @param args
*/
public void testForEach(){
System.out.println("有如下待选课程(通过for each访问):");
for (Object object : courseToSelect) {
Course cr = (Course) object;
System.out.println("课程:" + cr.id + ":" + cr.name);
}
}
/**
* 修改 List中的元素
* @param args
*/
public void testModify(){
Course cr = (Course) courseToSelect.set(4, new Course("7", "毛概"));
System.out.println("被修改课程:" + cr.id + ":" + cr.name);
}
/**
* 删除 List中的元素
* @param args
*/
public void testRemove() {
Course cr = (Course) courseToSelect.get(4);
// System.out.println("将要被删除的课程:" + cr.id + ":" + cr.name);
// courseToSelect.remove(cr);
// courseToSelect.remove(4);
System.out.println("将要被删除的课程是4和5位置上的课程:");
Course[] crs = {(Course) courseToSelect.get(4), (Course) courseToSelect.get(5)};
// 从一个集合删除另一个集合中的元素
courseToSelect.removeAll(Arrays.asList(crs));
System.out.println("已删除!");
testForEach();
}
/**
* 往List中添加一些奇怪的东西
* 报错:Exception in thread "main" java.lang.ClassCastException:
* java.lang.String cannot be cast to com.collection.Course
* at com.collection.ListTest.testForEach(ListTest.java:88)
* at com.collection.ListTest.main(ListTest.java:139)
* @param args
*/
public void testType() {
System.out.println("能否往List中添加一些奇怪的东西呢?");
courseToSelect.add("我不是课程,只不过是一个字符串罢了~");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
ListTest It = new ListTest();
It.testAdd();
It.testGet();
It.testIterator();
It.testForEach();
It.testModify();
It.testForEach();
It.testRemove();
It.testType();
It.testForEach();
}
}
![](https://img.haomeiwen.com/i1354453/e37f9e2d9de541da.png)
testAdd()
![](https://img.haomeiwen.com/i1354453/01daca1288e61d22.png)
testGet()
![](https://img.haomeiwen.com/i1354453/cb41f34536e243f9.png)
testIterator()
![](https://img.haomeiwen.com/i1354453/01b31372261df8a5.png)
testForEach()
![](https://img.haomeiwen.com/i1354453/b9f0aa226c207cef.png)
testRemove()
![](https://img.haomeiwen.com/i1354453/af7a445a91b8b47e.png)
testType()
网友评论