Collection聚集接口的先容和使用

手机软件开发 2024-10-9 01:58:42 37 0 来自 中国
一.关于Collection接口的继续关系图

Collection接口有两个重要的子接口:List,Set。
List接口的三个重要的实现类:LinkedList,ArrayList,Vector
Set接口两个重要的实现类:HashSet,TreeSet

二.Collection接口的实现类的特点

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

由于Collection接口无法实例化,要想使用Collection接口的方法我们就用Collection的实现子类ArrayList来演示它的常用方法
1.add:添加单个元素(内里存的是一个个对象,并不是根本数据类型,底层会自动装箱。而且添加乐成返回true,添加失败返回false)

public static void main(String[] args) {        Collection collection = new ArrayList<>();        //add方法的使用       boolean b = collection.add("jack");       System.out.println(b);//输出结果:true       collection.add(10);       collection.add(true);       System.out.println("List="+collection);//输出结果:List=[jack, 10, true]    }2.remove:删除指定元素(如果按元素删除返回值就是boolean类型即删除乐成就放回true,删除失败就放回false。如果按照索引删除返回值就是删除的元素)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //remove:方法的使用        //按照索引删除(索引不存在就报错)        Object o = list.remove(1);        System.out.println(o); //输出结果:10        //按照元素删除        boolean b = list.remove(true);        System.out.println(b);//输出结果:true        System.out.println("List="+list);//输出结果:List=[jack]    }3.contains:查找元素是否存在(返回类型是boolean类型:如果元素存在就返回true,不存在就返回false)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //contains:方法的使用        boolean b = list.contains("jack");        System.out.println(b);//输出结果:true    }4.size:获取元素的个数

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //size:方法的使用        int s = list.size();        System.out.println(s);//输出结果:3   }5.isEmpty:判断此聚集是否为空(如果此聚集为空返回true,不为空返回false)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //isEmpty:方法的使用        boolean b = list.isEmpty();        System.out.println(b);//输出结果:false    }6.clear:清空聚集

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //clear:清空聚集        list.clear();        System.out.println("List="+list);//输出结果:List=[]    }7.addAll:添加多个元素(添加乐成返回true,添加失败返回false。只要是实现Collection接口的子类都可以传入addAll方法中)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //addAll:方法的使用        List newList = new ArrayList<>();        newList.add("西游记");        newList.add("三国演绎");        boolean b = list.addAll(newList);        System.out.println(b);//输出结果:true        System.out.println("list="+list);//输出结果:list=[jack, 10, true, 西游记, 三国演绎]    }8.containsAll:查找多个元素是否存在(如果元素多存在就返回true,否则返回false。只要是实现Collection接口的子类都可以传入containsAll方法中)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //containsAll:方法的使用        List newList = new ArrayList<>();        newList.add("jack");        newList.add(10);        boolean b = list.containsAll(newList);        System.out.println(b);//输出结果:true    }9.removeAll:删除多个元素(如果删除乐成就返回true,否则就返回false。只要是实现Collection接口的子类都可以传入removeAll方法中)

public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //removeAll:方法的使用        List newList = new ArrayList<>();        newList.add("jack");        newList.add(true);        boolean b = list.removeAll(newList);        System.out.println(b);        System.out.println("list="+list);    }四.Collection接口遍历元素的方式

1.使用迭代器遍历(Iterator)

- 迭代器的根本先容

1).Iterator对象称为迭代器,重要用于遍历Collection聚集中的元素
2).全部实现Collection接口的的聚集类都有一个iterator()方法,用以返回一个实现Iterator接口
的对象,即可以返回一个迭代器

3).Iterator仅用于遍历聚集,Iterator自己并不存放对象
- 迭代器的实行原理

1).通过Collection接口实现类的iterator()方法得到一聚集的迭代器(Iterator)
Iterator iterator = list.iterator();2).通过迭代器(Iterator)里的hasNext()方法判断聚集是否有下一个元素,如果有返回true,否则返回false
while (iterator.hasNext()){            System.out.println(iterator.next());        }3).通过迭代器(Iterator)里的next()方法返回指针下移后聚集位置上的元素(next()方法作用是指针下移而且返回下移后聚集位置上的元素)
4).原理图

2.png
5).代码演示
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //使用迭代器遍历聚集        //1.先得到list聚集的迭代器(Iterator)        Iterator iterator = list.iterator();        //2.使用while循环遍历        while (iterator.hasNext()){            //3.返回下一个元素            Object o = iterator.next();            System.out.println(o);//遍历完终极输出结果为:jack 10 true        }    }2.使用加强for循环

加强for循环可以代替Iteratro迭代器。
1).根本语法
for(元素类型 元素名:聚集名或数组名){    访问元素}2).代码演示
public static void main(String[] args) {        List list = new ArrayList<>();        list.add("jack");        list.add(10);        list.add(true);        //使用加强for循环遍历聚集        for (Object o :  list) {            System.out.println(o);        }    }3).特点:曾强for循环就是简化版的Iterator迭代器,本质一样,只能用于遍历聚集或数组(上述代码举行Debug)


参考干系视频(韩顺平老师)
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 14:24, Processed in 0.200769 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表