0
点赞
收藏
分享

微信扫一扫

集合框架的使用

香小蕉 2022-04-15 阅读 84
java

1.集合框架的概念

        Java集合框架(Java Collections Framework简称JCF)是为表示和操作集合,而规定的一种统一的标准的体系结构。集合框架包含三大块内容:对外的接口、接口的实现和对集合运算的算法。数组和集合的区别:数组是定长的,集合是不定长的。

2.Collection集合

        2.1 Collection集合默认可以存储任何类型的元素

        2.2 Collection可以重复添加,并且可以存储空值null

        2.3 不能根据下标获取单个元素

        2.4 Collection的方法使用

        Collection coll = new ArrayList();//定义Collection接口变量,指向其实现对象Arraylist
        coll.add("a");//添加String类型的a
        coll.add(5);//添加整形的5
        coll.add('b');//添加char类型的b
        Collection colls = new ArrayList(2);
        colls.add(2);
        colls.add(3);
        coll.addAll(colls);
        System.out.println(coll);
        boolean b = coll.containsAll(colls);//判断coll中是否包含colls中的所有元素
        System.out.println(b);
        int size = coll.size();//获取coll的长度
        System.out.println(size);
        coll.remove(5);//删除2这个元素
        coll.removeAll(colls);//批量删除coll中的colls的元素
        System.out.println(coll);
        boolean empty = coll.isEmpty();//判断coll是否为空

        System.out.println(empty);
        coll.clear();//清除coll中的所有元素
        boolean empty1 = coll.isEmpty();
        System.out.println(empty1);

3.List

       

        3.1 List集合是有序集合: 数据的添加和存储次序一致, List集合可以存储重复的数据, List集合中的数据可以通过下标访问

        3.2 ArrayList实现类的用法

                3.2.1 实现了list接口,可以动态扩展,可以使用下标进行访问数据,查找较快,删除和插入较慢,ArrayList的底层就是数组,对数组进行了封装,多线程访问的时候是不安全的。

        List list = new ArrayList(5);//创建长度为五的Arraylist对象
        list.add("a");//在集合中添加一个String类型的a
        list.add(5);//在集合中添加一个整形的数字5
        list.add('a');//添加一个char类型的a
        list.add(new Date());//添加一个Date类型的数据
        list.add("a");//可以添加重复的数据
        //当添加的内容超过数组的长度后会自动扩容
        list.add("不是秋天的邱");
        System.out.println(list);//输出集合的内容
        list.set(3,"好一个秋");//将设置下标为3的内容为好一个秋
        list.remove(new Date());//移除集合中的Date数据
        System.out.println(list);
        list.remove(1);//移除下标为1的内容
        List listTwo = new ArrayList(2);
        listTwo.add("秋天的秋");
        listTwo.add(1,"湫湫湫湫");
        list.addAll(listTwo);//将集合listTwo中的所有内容添加到list集合中
        System.out.println(list);
        System.out.println(list.contains("不是秋天的邱"));//查找集合中是否存在“不是秋天的秋”
        System.out.println(list.containsAll(listTwo));
        list.get(2);//获取下标为2的内容
        list.indexOf("a");//查找a首次出现的位置
        System.out.println(list.size());//输出集合的长度
        System.out.println(list.isEmpty());//判断集合是否为空
        int i = list.hashCode();//返回list的哈希码值
        System.out.println(i);
          list.clear();//清空集合

        3.3LinedList和Vector实现类的用法

                LinkedList: 具有List的特征,底层以链表结构实现,可以进行头尾元素的添加删除

                Vetor: 与ArrayList功能一致,在多线程环境下,比ArrayList安全。性能比较低。

                LinedList的用法:

                

LinkedList linkedList=new LinkedList();
        linkedList.add("a");//添加字符型的a
        linkedList.add(5);//添加整型数据
        linkedList.add(new Date());//添加时间类型数据
        linkedList.addFirst(1);//在头部添加数据
        linkedList.addLast("尾");//在尾部添加数据
        linkedList.set(2,"hello");//在下标为2的地方插入元素
        System.out.println(linkedList.get(2));//获取下标为2的元素内容
        linkedList.getFirst();//获取第一个数据 即linkedlist【0】
        linkedList.getLast();//获取最后一个元素的内容
        LinkedList linked = new LinkedList(); //LinkedList不能指定长度
        linked.add(11);
        linked.add(10);
        linkedList.addAll(linked);//批量添加元素 即添加linked中是所有元素
        System.out.println(linkedList);
        linkedList.remove(2);//删除下标为2的元素的内容
        System.out.println(linkedList);
        System.out.println(linked);
        linkedList.addAll(0,linked);//在下标为2的地方放批量插入数据
        System.out.println(linkedList);
        linkedList.removeFirst();//删除头部元素
        linkedList.removeLast();//删除尾部元素
        System.out.println(linkedList);
举报

相关推荐

0 条评论