java容器中涉及的小众知识

已有数组,为什么还要造一个集合

数组的优点:
  1. 数组的效率高于集合类
  2. 数组能存放基本数据类型和对象;集合中只能放对象
数组的缺点:
  1. 不是面向对象的,存在明显的缺陷
  2. 数组长度固定且无法动态改变;集合类容量动态改变
  3. 数组无法判断其中实际存了多少元素,只能通过length属性获取数组的申明的长度
  4. 数组存储的特点是顺序的连续内存;集合的数据结构更丰富
JDK 提供集合的意义:
  1. 集合以类的形式存在,符合面向对象,通过简单的方法和属性调用可实现各种复杂操作
  2. 集合有多种数据结构,不同类型的集合可适用于不同场合
  3. 弥补了数组的一些缺点,比数组更灵活、实用

集合框架包含的内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

代码部分

public static void main(String[] args) {
        ArrayList list= new ArrayList();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        for(int i=0;i<list.size();i++){
            System.out.println(list.get(i));
        }

        System.out.println("-----------------------");
        //迭代器
//        Iterator iterator = list.iterator();
        ListIterator iterator = list.listIterator();//如果想要在迭代的过程中进行向集合中添加,修改元素等就需要使用ListIterator接口中的方法
        while(iterator.hasNext()){
            Object o = iterator.next();
            if(o.equals(2)){
//                list.add(66);//异常
                //替换添加方法
                iterator.add(66);//添加元素
                //iterator.set(66);//修改当前元素
                //list.remove(o);//使用list.remove() 会抛出 ConcurrentModificationException 并发修改异常
                //替换方法
//                iterator.remove();//移除【删除】当前元素
            }
            System.out.println(o);
        }
        System.out.println("-----------------------");
        //增强for循环写法,打印查看移除元素后的list中的元素 1  3  4
        for (Object i:list) {
            System.out.println(i);
        }
        System.out.println("-----------------------");
        while (iterator.hasPrevious()){//向前遍历
            System.out.println(iterator.previous());
        }

    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值