2:06 直接用add方法,就是在原有的表格后面接上元素了,而非插入元素了
List方法
3. addAll(集合) Arrays.asList(数组): 把数组转化成List
addAll(位置,集合)
没学会,可以多看几遍
List可以精确的控制每个元素的插入位置,删除某个位置的元素
- ArrayList底层是由数组实现
list.add(对象)把一个对象添加到另一个集合的队尾位置
list.add(index, 对象) 把一个对象添加到另一个集合的指定位置
list.addAll(集合对象) 把一个集合添加到另一个集合的队尾位置
list.addAll(index, 集合对象) 把一个集合添加到另一个集合的指定位置
Arrays.asList(数组) 把一个数组转换成List集合
List可以精确的控制每个元素的插入位置,删除某个位置的元素
- ArrayList底层是由数组实现
list.add(对象)把一个对象添加到另一个集合的队尾位置
list.addAll(index, 对象) 把一个集合添加到另一个集合的指定位置
list.addAll(集合对象) 把一个集合添加到另一个集合的队尾位置
list.addAll(index, 集合对象) 把一个集合添加到另一个集合的指定位置
Arrays.asList(数组) 把一个数组转换成List集合
package lmr;
import java.util.List;
public class ListTest{
public List coursesToSelect;
public ListTest(){
this.ocursesToSelect = new ArrayList();
}
public void testAdd(){
Course cr1 = new Course("1","数据结构");
courseToSelect.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[] course = {new Course("3","离散数学"),new Course("4","汇编语言")};
coursesToSelect.addAll(Arrays.asList(course));\
Course temp3 = coursesToSelect.get(2);
Course temp3 = 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 temp5 = (Course)coursesToSelect.get(3);
System.out.println("添加了两门课程:"+temp5.id+":"+temp5.name+";"+temp6.id+":"+temp6.name);
}
public static void main(String[]args){
ListTest lt = new ListTest();
lt.testAdd();
}
}
package lmr;
import java.util.List;
public class ListTest{
public List coursesToSelect;
public ListTest(){
this.ocursesToSelect = new ArrayList();
}
public void testAdd(){
Course cr1 = new Course("1","数据结构");
courseToSelect.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[] course = {new Course("3","离散数学"),new Course("4","汇编语言")};
coursesToSelect.addAll(Arrays.asList(course));\
Course temp3 = coursesToSelect.get(2);
Course temp3 = coursesToSelect.get(3);
System.out.println("添加了两门课程:"+temp3.id+":"+temp3.name+";"+temp4.id+":"+temp4.name);
}
public static void main(String[]args){
ListTest lt = new ListTest();
lt.testAdd();
}
}
List增加元素的addALL( )函数用法
addAll(index , collection[] c)函数:
使用Arrays.asList()方法先将Course类对象转变为List类,再将其添加进集合。可选择下标也可不选。
- List可以精确的控制每个元素的插入位置,多删除某个位置的元素
- ArrayList底层是由数组实现
list.add(对象)把一个对象添加到另一个集合的队尾位置
list.add(index, 对象) 把一个集合添加到另一个集合的指定位置
list.addAll(集合对象) 把一个集合添加到另一个集合的队尾位置
list.addAll(index, 集合对象) 把一个集合添加到另一个集合的指定位置
Arrays.asList(数组) 把一个数组转换成List集合
代码就是要多敲

添加使用addAll一次添加多条
import java.util.HashSet;
import java.util.Set;
/**
* 学生类
*
*/
public class Student {
private String name;
private String id;
private Set courses;
public Student(String id,String name){
this.id = id;
this.name = name;
this.courses = new HashSet();
}
}
/**课程类
* @author
*/
public class Course {
private String id;
private String name;
public Course(String id,String name){
this.id = id;
this.name =name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* 备选课程
*/
public class ListTest {
/**
* 用于存放备选课程的List
*/
public List coursesToSelect;
public ListTest(){
this.coursesToSelect = new ArrayList<>();
}
public void testAdd(){
Course cr1 = new Course("1","数据结构");
coursesToSelect.add(cr1);
Course temp = (Course) coursesToSelect.get(0);
System.out.println("添加了课程:"+temp.getId()+":"+temp.getName());
Course cr2 = new Course("2", "C语言");
coursesToSelect.add(0,cr2);
Course temp2 = (Course) coursesToSelect.get(0);
System.out.println("添加了课程:" +temp2.getId()+":"+temp2.getName());
//以下方法会抛出数组小标越界异常
// 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.getId()+":"+temp3.getName()+";"+temp4.getId()+":"+temp4.getName());
Course[] courses ={new Course("5","高等数据"),new Course("6","大学英语")};
coursesToSelect.addAll(2, Arrays.asList(courses));
Course temp5 = (Course) coursesToSelect.get(2);
Course temp6 = (Course) coursesToSelect.get(3);
System.out.println("添加了两门课程:"+temp5.getId()+":"+temp5.getName()+";"+temp6.getId()+":"+temp6.getName());
}
public static void main(String[] args) {
ListTest it = new ListTest();
it.testAdd();
}
}
Arrays.asList可以把可遍历对象转换成集合
创建一个课程数组
Course[] course={new Cuorse("3","离散数学"),new Course("4","汇编语言")};
coursesToSelect.addAll(Arrays.asList(course));
coursesToSelect.addAll(0,Arrays.asList(course));
这里的Course 和int double是不是没区别??
addAll()一个指定位置,一个不指定位置
addAll(元素):

addAll(int index(位置,不得大于其长度),元素)将第二参数所指元素添加到指定位置
arrayList的 addAll
切记,List类中的集合下标从0开始
addall直接加入全数组,用addAll(位置,Arrays.asList(数组));方法
Course[] course={new Course("3","离散数学"),new Course("4","汇编语言")};
courseToSelect.addAll(Arrays.asList(course));//把course数组转化为list
courseToSelect.addAll(2,Arrays.asList(course));//插入到第二位置
添加addAll的两种方法
CausetoSelect.java:
public void testAdd() {
Cause a1 = new Cause("1","高代");
this.causetolist.add(a1);
Cause temp = (Cause)causetolist.get(0);
System.out.println(temp.id+":"+temp.name);
Cause cause[] = {new Cause("4","概率论"),new Cause("3","数理统计")};
this.causetolist.addAll(Arrays.asList(cause));//将数组实例转换为列表对象
Cause tem1 = (Cause)causetolist.get(1);
System.out.println(tem1.id+":"+tem1.name);
Cause temp2 =(Cause)causetolist.get(2);
System.out.println(temp2.id+":"+temp2.name);
Cause cause1[] = {new Cause("5","时间序列分析"),new Cause("6","抽样技术")};
causetolist.addAll(2, Arrays.asList(cause1));
Cause temp3 = (Cause)causetolist.get(2);
Cause temp4 =(Cause)causetolist.get(3);
System.out.println(temp3.id+":"+temp3.name+","+temp4.id+":"+temp4.name);
};
Arrays.asList()方法把数组转换成list
下标越界:

另一种添加方法addAll

addAll方法中实现index参数时:

- List可以精确的控制每个元素的插入位置,多删除某个位置的元素
- ArrayList底层是由数组实现
list.add(对象)把一个对象添加到另一个集合的队尾位置
list.addAll(index, 对象) 把一个集合添加到另一个集合的指定位置
list.addAll(集合对象) 把一个集合添加到另一个集合的队尾位置
list.addAll(index, 集合对象) 把一个集合添加到另一个集合的指定位置
Arrays.asList(数组) 把一个数组转换成List集合
工具类Arrays.asList()能将数组转换成备选课程中的元素类型——数组序列(才能满足备选课程的属性)
在list容器中加入课程的对象,共四种方法。
前两种是单独加(add),默认加在最后,也可以选择加在指定位置。 后两种是集体加(addAll),放在数组中,默认加在最后,也可以加在指定位置。 addAll需要使用Arrays.asList把数组转成List
list中还有addAll(List list) 就是将一个List里面的元素一股脑的全都加进去,妙哉妙哉 一般定义一个数组,如何把一个数组转换成List? 调用方法Arrays.asList(Object[] obs);//可以将一个数组转换为一个List,然后可以将这个元素传进addAll()里面 当然还有addAll(index,List list)方法 removeAll直接传入一个list,同理 记得取出东西之后,要类型强转哦!!!因为取出来都是Object的。 向List中添加元素的几种方法: 新建List类 public List courseToSelect; 初始化List类 public ListTest() { this.courseToSelect=new ArrayList(); } 向List中添加数据 method_1 courseToSelect.add(对象1); method_2 courseToSelect.add(位置,对象2); method_3 courseToSelect.addAll(Arrays.asList(数组_对象3)); method_4 courseToSelect.addAll(位置,Arrays.asList(数组_对象4)); 获取 Course temp=(Course)courseToSelect.get(位置);
在list容器中加入课程的对象,共四种方法。 前两种是单独加(add),默认加在最后,也可以选择加在指定位置。 后两种是集体加(addAll),放在数组中,默认加在最后,也可以加在指定位置。但是注意需要将数组转化一下Arrays.toList。
addAll方法的使用

addAll需要使用Arrays.asList把数组转成List