java集合中list的添加
- List可以精确的控制每个元素的插入位置,多删除某个位置的元素
- ArrayList底层是由数组实现
1:创建课程类
package collection;
/**
* @20190812
* @author 王炳祥
* 课程类
*
*/
public class Course {
public String id;
public String name;
//方便演示改为public 实际开发中应该私有 用get/set方法访问
// //修改id
// public String getId() {
// return id;
// }
// //获取id
// public void setId(String id) {
// this.id = id;
// }
// //修改名称
// public String getName() {
// return name;
// }
// //获取名称
// public void setName(String name) {
// this.name = name;
// }
//构造器
public Course(String id,String name) {
this.id=id;
this.name=name;
}
}
2:创建学生类
package collection;
import java.util.HashSet;
//引入set包
import java.util.Set;
/**
* 20190812
* @author 王炳祥
*学生类
*
*/
public class Student {
public String id;
public String name;
public Set courses;
//含参构造器
public Student(String id,String name) {
this.id=id;
this.name=name;
this.courses=new HashSet();
}
}
3:备选课程类
package collection;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 20190812
* @author 王炳祥
*备选课程类
*/
public class ListTest {
/**
* 用于存放备选课程的list
*/
public List bxkc;
public ListTest() {
this.bxkc = new ArrayList();
}
/*
* 用于往bxkc中添加备选课程
*/
public void testAdd() {
//创建课程类的实例 调用其构造器
Course co1 = new Course("1","数据结构");
//调用bxkc的add方法 进行添加
/**
*第一种add方法
*/
bxkc.add(co1);
//检查是否添加
Course temp = (Course) bxkc.get(0);
System.out.println("添加了课程"+temp.id+":"+temp.name);
/**
* 第二种add方法
*/
Course co2 = new Course("2","c语言");
bxkc.add(0, co2);
//检查是否添加
Course temp2 = (Course) bxkc.get(0);
System.out.println("添加了课程"+temp2.id+":"+temp2.name);
// Course co3 = new Course("2","c语言");
// //报错 报错 报错 数组下标越界
// bxkc.add(5, co3);
// Course temp3 = (Course) bxkc.get(0);
// System.out.println("添加了课程"+temp3.id+":"+temp3.name);
/*
* 另外两种添加方法addall
*/
//创建一个课程数组
Course[] cou = {new Course("3","离散数学"),new Course("4","python")};
//将刚创建的数组转变为List(欢迎各位大神补充)
bxkc.addAll(Arrays.asList(cou));
Course temp3 = (Course) bxkc.get(2);
Course temp4 = (Course) bxkc.get(3);
System.out.println("添加了两门课程"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);
/**
* 插入指定位置的addall
*/
Course[] cou2 = {new Course("5","高等数学"),new Course("4","php")};
bxkc.addAll(2, Arrays.asList(cou2));
Course temp5 = (Course) bxkc.get(2);
Course temp6 = (Course) bxkc.get(3);
System.out.println("添加了两门课程"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);
}
public static void main(String[] args) {
ListTest li = new ListTest();
li.testAdd();
}
}
运行结果如下: