Java集合之List接口(下)

一、承接上篇Java集合之List接口(上),继续对List接口进行讲解

二、List接口下的实现类:

  2.1、ArrayList集合:

    2.1.1、ArrayList是以数组实现的集合,本质上可看作是动态可变数组,不支持同步,线程不安全;实现同步需要:Collections.synchronizedList(new ArrayList<>())

    2.1.2、ArrayList集合特点:

      2.1.2.1、ArrayList集合中存入的数据主要用于查询操作,不适合做指定位置频繁插入和删除的操作

      2.1.2.2、ArrayList集合中数据填满时,会自动扩充容器大小的50%

    2.1.3、ArrayList数据结构分析:查找和修改数据非常快,插入和删除指定位置数据比较慢

    示例代码:

      

 

  2.2.、LinkedList集合:

    2.2.1、LinkedList是以双向链表实现的集合,不支持同步,线程不安全,实现同步需要:Collections.synchronizedList(new LinkedList<>());

    2.2.2、LinkedList集合特点:

      2.2.2.1、可被当作堆栈,队列和双端队列进行操作

      2.2.2.2、顺序访问高效,随机访问较差,中间插入和删除高效,适用于经常变化的数据

    2.2.3、LinkedList数据结构分析:插入和删除数据非常快,查找和修改数据比较慢

    2.2.4、LinkedList集合特有方法:

      1、往第一个位置添加元素:addFirst(元素)

      2、往最后一个位置添加元素:addLast(元素)

      3、移除第一个元素:removeFirst()

      4、移除最后一个元素:removeLast()

      5、获取第一个元素:getFirst()

      6、获取最后一个元素:getLast()

      7、将元素放入集合中:push(E e)

      8、从集合中弹出一个元素:pop()

      示例代码:
        

  2.3、Vector集合:

    2.3.1、Vector也是以数组实现的集合,本质上可看作是动态可变数组,Vector同步,可以在多线程下使用

    2.3.2、Vector集合特点:Vector集合中存入的数据主要用于查询操作,不适合做指定位置频繁插入和删除的操作

    2.3.3、Vector集合特有方法:

      1、添加元素:addElement(元素)

      2、获取所有元素:elements()

      3、遍历判断是否还有元素:hasMoreElements()

      4、取出下一个元素:nextElement()

      示例代码:

        

 

    2.3.4、Vector集合数据结构分析:查找和修改数据非常快,插入和删除指定位置数据比较慢;Vector加了线程锁,线程安全

posted @   忘chuan  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示