JAVA 二十一 Collection集合(List,Set)
标签: JAVA
collection 特点无序,不知是否重复
list有序,不唯一
set无序,唯一
在list下ArrayList,LinkedList
在set下HashSet,TreeSet
多态,父类实现子类的实现类
/*
* Colletion 集合接口 无序不唯一 使用子接口的实现类ArrayList演示对应的功能
* 1 添加
* boolean add(E e); 往集合里面添加数据
* boolean addAll(Collection c) 往集合里面添加另一个集合的数据
* 2 获取
* int size();获取集合中元素的个数
* iterator() 返回值为Iterator对象,Iterator 是迭代器,用来遍历集合
* Iterator里面的2个方法:1 hasNext()判断集合里面是否还有需要迭代的数据,有返回true,无返回false
* 2 next() 获取集合里面的每一项数据,返回值类型为集合里面存储的数据类型
* 3 删除
* void clear() 清除集合中所有的元素
* boolean remove(Object o);删除集合里面指定的数据
* boolean removeAll(Collection c);删除包含c集合里面的元素
* 4 判断
* boolean contains(Object o) 判断集合里面是否包含指定的内容
* boolean containsAll(Collection c);判断集合是否包含集合c里面全部的内容
* boolean isEmpty() 判断集合是否为空的方法,为空返回true
* 5 集合转换为数组
* Object[] toArray()
* */
泛型
Collection<Student> c = new ArrayList();
练习
public class Student {
private String name;
private int age;
public Student(String name,int age){
this.name=name;
this.age=age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return this.name+"|"+this.age;
}
@Override
public boolean equals(Object obj) {
// TODO Auto-generated method stub
if(obj instanceof Student){
Student stu=(Student)obj;
return this.name.equals(stu.name) && this.age==stu.age;
}else{
return false;
}
}
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollectionStu {
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection<Student> c=new ArrayList();
c.add(new Student("AA",19));
c.add(new Student("BB",18));
c.add(new Student("CC",20));
// c.add("java33");
System.out.println(c);
Iterator<Student> it=c.iterator();
while(it.hasNext()){
System.out.println(it.next().getName());
}
System.out.println(c.remove(new Student("CC",20)));
System.out.println(c);
// while(it.hasNext()){
System.out.println(it.next());
// Object obj=it.next();
// if(obj instanceof Student){
// Student stu=(Student)obj;
// System.out.println(stu.getName());
// }
// }
}
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
* Colletion 集合接口 无序不唯一 使用子接口的实现类ArrayList演示对应的功能
* 1 添加
* boolean add(E e); 往集合里面添加数据
* boolean addAll(Collection c) 往集合里面添加另一个集合的数据
* 2 获取
* int size();获取集合中元素的个数
* iterator() 返回值为Iterator对象,Iterator 是迭代器,用来遍历集合
* Iterator里面的2个方法:1 hasNext()判断集合里面是否还有需要迭代的数据,有返回true,无返回false
* 2 next() 获取集合里面的每一项数据,返回值类型为集合里面存储的数据类型
* 3 删除
* void clear() 清除集合中所有的元素
* boolean remove(Object o);删除集合里面指定的数据
* boolean removeAll(Collection c);删除包含c集合里面的元素
* 4 判断
* boolean contains(Object o) 判断集合里面是否包含指定的内容
* boolean containsAll(Collection c);判断集合是否包含集合c里面全部的内容
* boolean isEmpty() 判断集合是否为空的方法,为空返回true
* 5 集合转换为数组
* Object[] toArray()
*
*/
public class CollectionDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
add();
}
private static void add() {
// TODO Auto-generated method stub
Collection c1=new ArrayList();
System.out.println(c1.add("java01"));
c1.add("java02");
c1.add("java03");
c1.add("java03");
c1.add(123);
System.out.println(c1);
Collection c2=new ArrayList();
c2.add("jjava01");
c2.add("jjava02");
c2.add("jjava03");
c1.addAll(c2);
System.out.println(c1);
System.out.println(c1.size());
Iterator it=c1.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
// System.out.println(c1.remove("java01"));
// System.out.println(c1.remove("jajva01"));
// System.out.println(c1);
// System.out.println(c1.removeAll(c2));
// System.out.println(c1);
// c1.clear();
// System.out.println(c1.size());
// System.out.println(c1.contains("java01"));
// System.out.println(c1.contains("java0190"));
// System.out.println(c1.containsAll(c2));
// c2.add("oiiuu");
// System.out.println(c1.containsAll(c2));
System.out.println(c1.isEmpty());
c1.clear();
System.out.println(c1.isEmpty());
}
}