package 作业;


import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;


//1、remove(int index);//删除指定位置的元素

//2、remove(Object o);//删除指定对象,考查删除对象的规则是什么?

//3、removeAll(Collection col);//删除指定集合中的所有元素。

//4、contains(Object o);//是否包含

//5、contains(Collection col);//是否包含集合。

class Student {

private String name;


// 构造函数

public Student(String name) {

super();

this.name = name;

}


// getter,setter

public String getName() {

return name;

}


public void setName(String name) {

this.name = name;

}

}


public class CollectionDemo {

public static void main(String[] args) {

List<Student> list = new ArrayList<Student>();// 列表集合里面只能存放学生类对象


Student s1 = new Student("student1");

Student s2 = new Student("student2");

Student s3 = new Student("student3");

Student s4 = new Student("student4");

Student s5 = new Student("student5");


list.add(s1);

list.add(s2);

list.add(s3);

list.add(s4);

list.add(s5);


//增强for循环,

//对list进行迭代,定义了一个局部变量student,来引用list集合的每个元素

//for (Student student : list) {

//System.out.println(student.getName());//getName()是Student里面定义的方法

//}

getlist(list);//自定义方法,遍历泛型集合

//getlist2(list);//和上面方法一样

System.out.println("删除第一个学生---------------------");

list.remove(0);

getlist(list);

System.out.println("通过remove(object o)删除对象");

list.remove(s3);

getlist(list);

//boolean contains(Object o) 

//      如果列表包含指定的元素,则返回 true。 

//boolean containsAll(Collection<?> c) 

//  如果列表包含指定 collection 的所有元素,则返回 true。 


System.out.println("list 是否包含s1呢?---------"+list.contains(s1));

System.out.println("list 是否包含s4呢?---------"+list.contains(s4));

List<Student> list2=new ArrayList<Student>();

list2.add(s2);

list2.add(s5);

System.out.println("list是否包含list2:"+list.containsAll(list2));


List<Student> list3=new ArrayList<Student>();

list3.add(s3);

list3.add(s5);

System.out.println("list是否包含list3:"+list.containsAll(list3));

//boolean removeAll(Collection<?> c)从列表中移除指定 collection 中包含的所有元素(可选操作)。 

list.removeAll(list3);

getlist(list);


}

public static void getlist(List<Student> list){//普通遍历泛型集合

for(int i=0;i<list.size();i++){

Student s=list.get(i);

System.out.println(s.getName());

}

}

public static void getlist2(List<Student> list){

for(int i=0;i<list.size();i++){

System.out.println(list.get(i).getName());//list.get(i)返回列表中指定位置的元素(这里是学生对象)。要得到名字还要调用方法getName(),和上面的其实一样

}

}

}