1.Collection接口下面的方法,子类或者子接口能不能使用?可以的
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
public class Demo01 {
public static void main(String[] args) {
//boolean add(E e);
Collection<String> list1 = new ArrayList<>();
list1.add("cxk");
System.out.println(list1);
// boolean addAll(Collection<? extends E> c);
//添加另一集合所有的元素
Collection<String> list2 = new ArrayList<>();
Collection<String> list3 = new ArrayList<>();
list2.add("cxk");
list3.addAll(list2);
System.out.println(list3);
// boolean remove(Object obj);删除指定元素
Collection<String> list4 = new ArrayList<>();
list4.add("cxk");
list4.add("ht");
list4.remove("ht");
System.out.println(list4);
//boolean removeAll(Collection<? extends E> c);删除另一集合中含有的元素
Collection<String> list5 = new ArrayList<>();
Collection<String> list6 = new ArrayList<>();
list5.add("cxk");
list5.add("kill");
list5.add("ht");
list6.add("kill");
list6.add("ht");
list5.removeAll(list6);
System.out.println(list5);
//clear();删除所有元素
Collection<String> list7 = new ArrayList<>();
list7.add("cxk");
list7.add("ht");
list7.clear();
System.out.println(list7);
//size();返回集合中的元素数
Collection<String> list8 = new ArrayList<>();
list8.add("cxk");
list8.add("ht");
System.out.println(list8.size());
//toArray();
Collection<String> list12 = new ArrayList<String>();
list12.add("ji");
list12.add("ht");
Object[] str = list12.toArray();
System.out.println(Arrays.toString(str));
//contains(Object obj);如果此集合包含指定的元素,则返回 true 。
Collection<String> list9 = new ArrayList<>();
list9.add("cxk");
list9.add("ht");
System.out.println(list9.contains("cxk"));
//containsAll(Collection<? extends E> c);
//如果此集合包含指定 集合中的所有元素,则返回true。
Collection<String> list10 = new ArrayList<>();
Collection<String> list11 = new ArrayList<>();
list10.add("ikun");
list10.add("kill");
list10.add("ht");
list11.add("kill");
list11.add("ht");
System.out.println(list10.containsAll(list11));
//isEmpty();
Collection<String> list13 = new ArrayList<>();
list13.add("cxk");
list13.add("ht");
System.out.println(list13.isEmpty());
}
}
2.遍历集合中数据的三种方式
2.1for循环【不用】
import java.util.ArrayList;
import java.util.Collection;
public class Demo02 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("Dmh");
list.add("lxz");
Object[] o = list.toArray();
for (int i = 0; i < o.length; i++) {
System.out.println(o[i]);
}
}
}
2.2增强for循环【开发常用】
import java.util.ArrayList;
import java.util.Collection;
public class Demo03 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("Dmh");
list.add("lxz");
for (String s : list) {
System.out.println(s);
}
}
}
2.3迭代器
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class Demo04 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<>();
list.add("Dmh");
list.add("lxz");
Iterator<String> iterator =list.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
3.在集合中存的是自定义的对象【重点】
import java.util.ArrayList;
import java.util.Collection;
class Student{
private String name;
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
'}';
}
}
public class Demo05 {
public static void main(String[] args) {
Collection<Student> list = new ArrayList<>();
list.add(new Student("dmh"));
System.out.println(list);
Object[] o = list.toArray();
System.out.println(o[0]);
Student student = (Student) o[0];
System.out.println(student.getName());
}
}