List接口常用的实现ArrayList。
常用方法:add(Object obj) 增加一个元素
add(int index,Object obj) 在指定索引位置添加元素
remove(int index) 删除指定位置的元素
remove(Objiect) 从列表中删除元素
set(index,Object) 修改指定位置的元素
get(int index) 获取指定位置的元素
size() 获取集合大小
contains(Object obj) 查找集合中是否存在传入的元素
代码实现:
创建一个课程类:
package core.list;
/**
* 课程表
*/
public class Course {
public String id;
public String name;
public Course(String id, String name) {
this.id = id;
this.name = name;
}
public Course() {
}
}
对List进行操作:
package core.list;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
/**
* 备选课程类
*/
public class ListTest {
//定义一个List类,用于存放备选课程
public List coursesToSelect;
public ListTest(){
//ArrayList()方法
this.coursesToSelect = new ArrayList();
}
@Test
public void testAdd(){
Course cr1 = new Course("1","数据结构");
//添加元素
coursesToSelect.add(cr1);
//取元素
Course temp = (Course) coursesToSelect.get(0);
System.out.println("添加了课程"+temp.id+":"+temp.name);
//另外一种添加方法
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+" "+temp6.id+" "+temp6.name);
}
@Test
//遍历取得List课程的元素
public void testGet(){
int size = coursesToSelect.size();
System.out.println("有以下课程:");
for (int i = 0; i < size; i++) {
Course cr = (Course) coursesToSelect.get(i);
System.out.println(cr.id+cr.name);
}
}
@Test
//通过迭代器遍历List元素
public void testIterator(){
Iterator it=coursesToSelect.iterator();
System.out.println("有如下课程(通过迭代器遍历):");
while(it.hasNext()){
Course cr2=(Course)it.next();
System.out.println(cr2.id+" "+cr2.name);
}
}
@Test
public void testForeach(){
System.out.println("有如下课程(通过foreach遍历)");
for(Object obj:coursesToSelect){
Course cr3 = (Course) obj;
System.out.println(cr3.id+" "+cr3.name);
}
}
@Test
//修改List中的元素
public void update(){
coursesToSelect.set(3,new Course("5","软件工程"));
}
@Test
//删除List中的元素
public void testRemove(){
Course cr4 = (Course) coursesToSelect.get(3);
System.out.println("我是课程:"+cr4.name+"我即将被删除");
coursesToSelect.remove(3);
System.out.println("删除成功");
}
@Test
public void testRemove2(){
Course[] cr5={(Course)coursesToSelect.get(3),(Course)coursesToSelect.get(4)};
coursesToSelect.removeAll(Arrays.asList(cr5));
testForeach();
}
public static void main(String[] args) {
ListTest it = new ListTest();
it.testAdd();
it.update();
it.testGet();
it.testRemove2();
it.testIterator();
it.testForeach();
}
}