JAVA-基础-集合的继承和Collection接口

集合是java 提供的一种存储数据的容器

它与数组的区别是 :数组的长度是固定的,集合的长度是可变的,

集合中存储的元素必须是引用数据类型

使用ArrayList集合来存储元素并遍历

public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<Integer>();
    list.add(111);
    list.add(222);
    list.add(333);
    list.add(444);
    list.add(555);
    for(int i=0; i<list.size(); i++){
System.out.println(list.get(i));
}
}
public static void main(String[] args) {
ArrayList<Person> list = new ArrayList<Person>();
    list.add(new Person("小强"));
    list.add(new Person("老王"));
    list.add(new Person("小虎"));
    list.add(new Person("小泽"));
    list.add(new Person("小红"));
    for(int i=0; i<list.size(); i++){
        Person p = list.get(i);
System.out.println(p);
}
}

集合的继承实现

ArrayList 继承了抽象类AbstractList,同时实现接口List,而List接口又继承了Collection接口

Collection接口为集合的最顶层接口

interface List extends Collection {

}

public class ArrayList extends AbstractList implements List{

}

在使用ArrayList时,该类已经重写了所有抽象方法

实现Collection接口的所有子类都会重写方法

Collection接口常用的子接口:List接口,Set接口.

List接口的常用子类:ArrayList类,LinkedList类

Set接口的常用子类:HashSet类,LinkedHashSet类

    Collectipn接口

方式1:Collection<元素类型> 变量名 = new ArrayList<元素类型>();

创建的集合,只能存储<>中指定的元素类型,该方式为常用方式

方式2:Collection 变量名 = new ArrayList();

创建的集合,集合的元素类型默认为Object类型,即任何类型的元素都可以存储。

Collection coll = new ArrayList();
//1,往集合中添加对象元素。add(E e)方法,E代表创建集合时所指定的数据类型如<String>,那么,E就代表String类型;创建集合时若没有指定数据类型,那么,E就代表Object类型。
coll.add("abc");
coll.add("ef");
coll.add("g");        
//把集合打印一下。
System.out.println(coll); //打印结果为:[abc, ef, g]
System.out.println(coll.toString()); //打印结果为:[abc, ef, g]
//2,从集合中删除元素。remove(Object o)方法
coll.remove("ef");        
//删除后,集合元素为[abc, g]
//3,判断集合中是否包含指定元素。contains(Object o)方法
System.out.println(coll.contains("abc"));
//打印结果为true
System.out.println(coll.contains("ef"));
//打印结果为false
    
//4,获取集合元素个数。size()方法
System.out.println(coll.size());
//打印结果为2
 
//5,返回包含集合中所有元素的数组。toArray()方法
String[] array = coll.toArray();
//数组中的元素为{"abc", "g"}
 
//6,清除集合元素。remove()方法
coll.clear();
//清空后,集合元素为[],代表没有元素

 

猜你喜欢

转载自www.cnblogs.com/zhangwei2065289/p/9234646.html