27.Java中的Collection(集合)以及迭代器和泛型的好处

一.Collection的体系结构

List: 最具体的子实现类ArrayList,LinkedList,Vector

1.基本功能:

(1)添加:boolean add(Object e):添加元素  E(Element)

(2)删除:void clear() 暴力删除(将集合的素有元素全部干掉)
            boolean remove(Object o):从集合中删除指定的元素

(3)int size():获取集合的元素数

2.判断功能:

(1)boolean isEmpty():判断集合是否为空,为空元素,则返回true
    boolean contains(Object o):判断集合中是否包含指定元素,包含则返回true

Collection的高级功能


boolean addAll(Collection c):添加一个集合中的所有元素
boolean containsAll(Collection c):包含一个集合中的所有元素
boolean removeAll(Collection c):删除集合中的所有元素, (删除一个算删除)(必须同时都被包含进去)

public class Colle {
    public static void main(String[] args) {
        Collection c1 = new ArrayList();
        c1.add("abc1");
        c1.add("abc2");
        c1.add("abc3");
        c1.add("abc4");
        Collection c2 = new ArrayList();
        c2.add("abc1");
        c2.add("abc4");
        c2.add("abc5");
        c2.add("abc6");
        System.out.println(c1);
        System.out.println(c2);
        System.out.println(c1.removeAll(c2));
        System.out.println(c1);
    }
}

 boolean retainAll(Collection c):A集合对B集合求交集,交集的元素是保存在A集合中, boolean的返回值意思是看A集合的元素如果有变化,返回true;没有变化,则返回false


Object[] toArray():将集合转换成了对象数组

二.Collection的迭代器(Iterator)

 Iterator接口: boolean hasNext():判断迭代器中是否存在下一个元素
                     Object next():  获取下一个可以遍历的元素

public class CollectionTest {
    public static void main(String[] args) {

        //创建集合对象
        Collection c = new ArrayList() ; //List接口的子实现类 (重复元素)

        //添加元素
        c.add("hello") ;
        c.add("world") ;
        c.add("javaee") ;
        while(it.hasNext()){
            Object obj = it.next();
            
            //获取的元素同时,还要获取当前存储元素的长度  ---->String类型   length()
            String str = (String) obj;//向下转型
            System.out.println(str+"----"+str.length());
        }

    }
}

jdk5以后新特性:泛型<E/T>

泛型的格式:<引用数据类型>

集合类型<引用数据类型>  集合对象名 = new  子实现类<引用数据类型>() ;

泛型的好处:

1)将运行时期异常提前了编译时期
2)避免了强制类型转换
3)提高了程序安全性

public class GenericDemo {
    public static void main(String[] args) {

        //创建Collection集合对象
        Collection<String> c = new ArrayList<String>() ; 


        c.add("hello") ;
        c.add("高圆圆") ;
        c.add("你好吗") ;
       
        //获取迭代器Iteratr<E>是集合中存储的泛型是一致的
        Iterator<String> it = c.iterator();
        while(it.hasNext()){
            //获取String字符串的同时,还要获取长度
           //避免了强制类型转换
            String str = it.next();
            System.out.println(str+"---"+str.length());
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值