小工具知识网

当前位置: 首页 > 行业知识 > 集合框架(一)Collection

行业知识

集合框架(一)Collection

2026-11-11 00:30:52 来源:互联网转载

���习过了ArrayList,知道集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也非常常用。

为了满足不同的业务场景需求Java还提供了很多不同特点的集合给我们选择。

集合体系结构

Collection是一个接口,并且是支持泛型的接口,这个接口只规定了单列集合的特点,比如基本的增删改查,同时Collection下面又有很多子接口List接口和Set接口 

Collection的常用方法

collection提供的所有的常见方法是所有单列集合都可以直接去使用的。

import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;public class CollectionTest2API {    public static void main(String[] args) {        /*首先肯定要用collection定义一个集合,集合类型是String类型的数据,        collection是接口不能之间new对象,那就挑一个他的实现类ArrayList的集合对象        给到Collection集合的变量c来记住*/        Collection c = new ArrayList();//多态写法        //1.public boolean add(E,e):添加元素,添加成功返回true        c.add("java1");c.add("java1");c.add("java2");c.add("java2");c.add("java3");        System.out.println(c);        //2.public void clear(E e):清空集台中所有的元素。        //c.clear();        //System.out.println(c);        //3.public boolean isEmpty():判断当前集合是否为空。        System.out.println(c.isEmpty());        //4.public int size():返回集合中元素的个数。(获取集合的大小)        System.out.println(c.size());        //5.public boolean contains(0bject obj): 判断当前集合中是否包含给定的对象        System.out.println(c.contains("java1"));        System.out.println(c.contains("Java1"));        //6.public boolean remove(E e):把给定的对象在当前集合中删除:如果有相同的元素他会删除前面一个元素        System.out.println(c.remove("java1"));        System.out.println(c);        //7.public object[] toArray():把集合中的元素,存储到数组中。        Object[] arr = c.toArray();        System.out.println(Arrays.toString(arr));//可以用Arrays调用toString方法把数组打印出来        //非要把集合转为字符串数组怎么办:        /**         *用c调用toArray方法在括号里面new一个String类型的数组         * 在中括号里面可以填上元素的大小         * 这样就相当于指定了一个String类型的数组,也就是一个容器给到底层         * 底层就会把集合中的元素遍历出来给到数组         * 再去接她返回的结果就是一个String类型的数组返回给我们         * 这样就会得到指定类型的数组         */        String[] arr2 =  c.toArray(new String [c.size()]);        System.out.println(Arrays.toString(arr2));        System.out.println("--------------------------------------------------------");        //把一个集合的全部数据倒入到另一个集合中去        Collection c1 = new ArrayList();        c1.add("java1");        c1.add("java2");        Collection c2 = new ArrayList();        c2.add("java3");        c2.add("java4");        c1.addAll(c2);//就是把c2集合中的全部数据(拷贝了一份倒进去)倒入到c1中去,(相当于批量添加数据了)注意:数据类型要相适应        System.out.println(c1);        System.out.println(c2);//c2的数据还是有的    }}

collection的遍历方式

1.迭代器(Iterator)

首先,一定要通过集合对象调用Iterator()方法,就会得到一个集合的迭代器对象,迭代器对象默认指向当前集合的第一个元素的;接着就可以用迭代器的常用方法来遍历集合。一个是hasNext()方法,一个是next()。

import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class CollectionDemo1 {    public static void main(String[] args) {        Collection c = new ArrayList();        c.add("赵敏");        c.add("小邵");        c.add("速速");        c.add("灭绝");        System.out.println(c);        //c = [赵敏, 小邵, 速速, 灭绝]        //      it        //使用迭代去遍历集合        //1.从集合对象中获取迭代器对象。        Iterator it = c.iterator();        /*System.out.println(it.next());        System.out.println(it.next());//从取完第一个之后,再从第二个        System.out.println(it.next());//第三个        System.out.println(it.next());//第四个*/        //System.out.println(it.next());//第五个没有就会出现异常,所以不要越界        //2.应该使用循环结合迭代器遍历集合        while(it.hasNext()){//如果有数据就会返回true 进到循环里面来            String ele= it.next();//此时就使用next方法来取出数据,取出来之后会移到下一个位置            System.out.println(ele);            //System.out.println(it.next());                    }    }}

2.增强for

如果使用for循环,那么这个集合就必须要支持索引的,但collection并没有规定结合的索引问题,只有List集合才支持索引。所以collection是不支持直接用for循环来遍历的。

 

import java.util.ArrayList;import java.util.Collection;public class CollectionDemo2 {    public static void main(String[] args) {        Collection c = new ArrayList();        c.add("赵敏");        c.add("小邵");        c.add("速速");        c.add("灭绝");        System.out.println(c);        //c = [赵敏, 小邵, 速速, 灭绝]        //      ele        //使用增强for循环遍历集合或者数组        for (String ele : c) {            System.out.println(ele);        }        //c.for再回车        /*for (String els : c) {        }*/        String[] names = {"的卡拉", "大法师", "北京人", "咖啡馆"};        for (String name : names){            System.out.println(name);        }    }}

3.Lambda表达式

 

import java.util.ArrayList;import java.util.Collection;import java.util.function.Consumer;public class CollectionDemo3 {    public static void main(String[] args) {        Collection c = new ArrayList();        c.add("赵敏");        c.add("小邵");        c.add("殷速速");        c.add("周芷若");        System.out.println(c);        //c = [赵敏, 小邵, 殷速速, 周芷若]        //      s        //default void forEach(Consumer

上一篇:怎么重启宝塔面板?

下一篇:滑动验证,应对安全验证挑战的新利器