1、List 是接口,实现子类是:ArrayList
2、集合+泛型
3、add 方法,参数可以是,基本数据类型,也可以是类的实例对象
4、addAll
5、size 集合长度
6、get 根据索引获取集合中的元素
7、remove 根据索引删除集合中的元素
8、set 修改
9、iterator 方法
10、Iterator 接口 hasNext方法 next 方法
11、集合循环三种方式
public class Course {
private String id;
private String name;
public Course() {
}
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;
}
@Override
public String toString() {
return "课程ID:" + this.id + "、课程名称:" + this.name;
}
}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
public class TestList {
private List list;
public TestList() {
list = new ArrayList();
}
public void add01() {
Course c1 = new Course("1", "java");
list.add(c1);
System.out.println(list.get(0));// 获取指定索引位置集合中元素
System.out.println(list.size());// 集合长度
}
public void add02() {
Course c1 = new Course("2", "C");
list.add(c1);
System.out.println(list.get(0));
Course c2 = new Course();
c2.setId("3");
c2.setName("python");
list.add(0, c2);// 往集合内指定位置添加元素
System.out.println(list.get(0));
}
public void add03() {
Course[] courses = {new Course("4", "C++"), new Course("5", "C#")};
list.addAll(Arrays.asList(courses));// 批量往集合中添加元素。数组转换成集合。
System.out.println(list.size());
}
public void modifyList() {
list.set(4, new Course("5", "vb"));
}
public void removeList() {
list.remove(4);
}
public void listFor() {
for (int i = 0; i < list.size(); i++) {
Course course = (Course) list.get(i);
System.out.println(course);
}
}
public void listForEach() {
for (Object obj : list) {
Course course = (Course) obj;
System.out.println(course);
}
}
public void listIterator() {
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Course course = (Course) iterator.next();
System.out.println(course);
}
}
public static void main(String[] args) {
TestList lt = new TestList();
// 往集合中添加元素
lt.add01();
// 往集合中指定索引位置添加元素
lt.add02();
System.out.println("-----------华丽的分割线----------");
// 数组转换成集合,添加到集合中
lt.add03();
lt.listFor();
System.out.println("-----------华丽的分割线----------");
lt.modifyList();
lt.listIterator();
System.out.println("-----------华丽的分割线----------");
lt.removeList();
lt.listForEach();
}
}
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class TestListGeneric {
private List<Course> list;
public TestListGeneric() {
list = new ArrayList<>();
}
public void add01() {
Course c1 = new Course("1", "java");
list.add(c1);
}
public void add02() {
list.add(new Course("1", "java"));
System.out.println(list.size());
}
public void listFor() {
for (Course course : list) {
System.out.println(course);
}
}
public void listIterator() {
Iterator<Course> iterator = list.iterator();
while (iterator.hasNext()) {
Course course = iterator.next();// 不需要进行数据类型的强制转换
System.out.println(course);
}
}
// 泛型+子类
public void testChild() {
ChildCourse ccr = new ChildCourse();
ccr.setId("3");
ccr.setName("我是子类型的课程对象实例~~");
list.add(ccr);
}
// 包装类
public void testBasicType() {
List<Integer> list = new ArrayList<Integer>();
list.add(1);
System.out.println("基本类型必须使用包装类作为泛型!" + list.get(0));
}
public static void main(String[] args) {
TestListGeneric tlg = new TestListGeneric();
tlg.add01();
tlg.listFor();
System.out.println("-----------华丽的分割线----------");
tlg.add02();
tlg.listIterator();
System.out.println("-----------华丽的分割线----------");
tlg.testChild();
tlg.listIterator();
}
}