您好,欢迎访问代理记账网站
  • 价格透明
  • 信息保密
  • 进度掌控
  • 售后无忧

集合(一)之出入集合

文章目录

  • 集合
    • 一.集合的基本概念
    • 二.集合的体系
      • 1.单列集合collection--(接口)
      • 2.双列集合Map--()接口
    • 三.# ArrayList,LinkedList的特点,以及两者的区别
      • 1.ArrayList
      • 2.LinkedList(双链表实现)

集合

一.集合的基本概念

  • 集合是用来装东西的,就好像一个容器.

  • 数组是一个容器,但数组只能存储同一类型的数据,同时数组的长度一旦确定无法改变

  • java为什么要提供许多集合类来存储数据

    • 1.因为要求集合类的长度是可变的

    • 2.不同的数据存储,操作方式不同

    • 3.底层有数组,链表,Hash表,树来实现

二.集合的体系

1.单列集合collection–(接口)

  • set接口:元素不可重复

    • 包含:Hashset类(底层由哈希表实现),Treeset类(底层由树实现)
  • list接口:元素可重复

    • 包含:ArrayList类(数组底层实现),LinedList类(底层链表实现),Vector类(底层链表实现–线程安全)

2.双列集合Map–()接口

HashMap类

TreeMap类

Hashtable类

迭代器

三.# ArrayList,LinkedList的特点,以及两者的区别

1.ArrayList

  • 底层是数组实现,创建之初在底层创建一个默认长度的数组,当数组内容增加满了以后,再继续增加时,会扩容一个新数组,新数组的长度为前一个数组的1.5倍

  • 特点:查询快,增删慢

  • 缺点:扩容后,当元素未充满数组,造成空间浪费

2.LinkedList(双链表实现)

  • 底层是链表实现

  • 特点:增删快,查询慢

  • 查询慢的原因:查找的时候从头结点或尾结点开始查找,所以查找效率较低,当需要查找的Index小于size的一半时,从头向尾查找,当index大于size的一半时从尾结点向前查找

  • 当元素查找时,从第一个节点向后查询,增加,删除元素时,其他元素的位置不同,只需要改变指针域的值即可


分享:

低价透明

统一报价,无隐形消费

金牌服务

一对一专属顾问7*24小时金牌服务

信息保密

个人信息安全有保障

售后无忧

服务出问题客服经理全程跟进