Collection接口常用方法

Collection接口实现类的特点

public interface Collection extends Iterable

1.collection实现子类可以存放多个元素,每个元素可以是Object
2.有些Collection的实现类,可以存放重复的元素,有些不可以
3.有些Collection的实现类,有些是有序的(List),有些不是有序(Set)
4.Collection 接口没有直接的实现子类,是通过它的子类接口Set和List来实现的

Collection接口和常用方法

Collection接口常用方法,以实现子类ArrayList

1.add:添加单个元素
2.remove:删除指定元素
3.contains:查找元素是否存在
4.size:获取元素个数
5.isEmpty:判断是否为控股
6.clear:清空
7.addAll:添加多个元素
8.containsAll:查找多个元素是否都存在
9.removeAll:删除多个元素
10.说明: 以 ArrayList实现类来演示


public class CollectionMethod {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        List list = new ArrayList();
        //1.add:添加单个元素
        list.add("jack");
        list.add(10);//list.add(new Integer(10))
        list.add(true);
        System.out.println("list="+list);
        //2.remove:删除指定元素
       //list.remove(0);//删除第一个元素
        list.remove("jack");//指定删除某个元素
        System.out.println("list="+list);
        //3.contains:查找元素是否存在
        System.out.println(list.contains("jack"));//t
        //4.size:获取元素个数
        System.out.println(list.size());//2
        //5.isEmpty:判断是否为控股
        System.out.println(list.isEmpty());//f
        //6.clear:清空
        list.clear();
        System.out.println("list="+list);//list=[]
        //7.addAll:添加多个元素
        ArrayList list2 = new ArrayList();
        list2.add("红楼梦");
        list2.add("三国演义");
        list.addAll(list2);
        System.out.println("list="+list);
        //8.containsAll:查找多个元素是否都存在
        System.out.println(list.containsAll(list2));//t
        //9.removeAll:删除多个元素
        list.add("聊斋");
        list.removeAll(list2);
        System.out.println("list="+list);//[聊斋]

    }
}

Collection接口遍历元素方式1 -使用Iterator(迭代器)

基本介绍

1.Iterator对象称为迭代器,主要用于遍历Collection 集合中的元素。
2.所有实现了Collection接口的集合类都有一个iterator()方法,用以返回一个
实现了Iterator接口的对象,既可以返回一个迭代器。
3.Iterator 的接口
4.Iterator 仅用于遍历集合,Iterator 本身并不存放对象

提示:在调用iterator.next()方法之前必须要调用iterator.hasNext()进行检测。
若不调用,且下一个记录无效,直接调用it.next()会抛出
NoSuchElementException异常


import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionIterator {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {
        Collection col = new ArrayList();
        col.add(new Book("三国演义","罗贯中",10.1));
        col.add(new Book("小李飞刀","古龙",5.1));
        col.add(new Book("红楼梦","曹雪芹",34.3));
        //System.out.println("col="+col);
        //遍历col集合
        //1.先得到col对应的 迭代器
        Iterator iterator = col.iterator();
        //2.使用while 循环遍历即可
        while(iterator.hasNext()){//判断是否还有数据
            //返回下一个元素,类型是Object
            Object obj = iterator.next();
            System.out.println("obj="+obj);
        }
        //3.当退出while循环后,这时iterator迭代器,指向最后的迭代器
       // iterator.next();//NoSuchElementException
        //4.如果希望再次遍历,需要重置迭代器
        iterator=col.iterator();
        System.out.println("==第二次遍历==");
        while (iterator.hasNext()) {
            Object obj =  iterator.next();
            System.out.println("obj="+obj);
        }
    }
}


class Book{
    private String s1;
    private String s2;
    private double d1;

    public Book(String s1, String s2, double d1) {
        this.s1 = s1;
        this.s2 = s2;
        this.d1 = d1;
    }

    public String getS1() {
        return s1;
    }

    public void setS1(String s1) {
        this.s1 = s1;
    }

    public String getS2() {
        return s2;
    }

    public void setS2(String s2) {
        this.s2 = s2;
    }

    public double getD1() {
        return d1;
    }

    public void setD1(double d1) {
        this.d1 = d1;
    }


    @Override
    public String toString() {
        return
                "s1='" + s1 + '\'' +
                ", s2='" + s2 + '\'' +
                ", d1=" + d1;
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值