zoukankan      html  css  js  c++  java
  • 集合框架

    什么是集合:是一种工具类,就像是容器,存储任意数量的具有共同属性的对象。

    集合框架图

    说明:所有集合类都位于java.util包下。Java的集合类主要由两个接口派生而出:CollectionMap,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些子接口或实现类。
    Collection接口

    1. 是List、Set和Queue接口的父接口;
    2. 定义了可用于操作List、Set和Queue的方法——增删改查;
    • List接口及其实现类——ArrayList
      • List(序列),元素有序,并且可重复;
      • List可以精确控制元素的插入位置,或删除指定位置的元素;
      • ArrayList——数组序列,是List的一个重要实现类;
      • ArrayList底层是由数组实现的

        ArrayList

     ArrayList是一个动态数组,也是我们最常用的集合。它允许任何符合规则的元素插入甚至包括null。每一个ArrayList都有一个初始容量(10),该容量代表了数组的大小。随着容器中的元素不断增加,容器的大小也会随着增加。在每次向容器中增加元素的同时都会进行容量检查,当快溢出时,就会进行扩容操作。所以如果我们明确所插入元素的多少,最好指定一个初始容量值,避免过多的进行扩容操作而浪费时间、效率。

    LinkedList

      1. 同样实现List接口的LinkedList与ArrayList不同,ArrayList是一个动态数组,而LinkedList是一个双向链表。所以它除了有ArrayList的基本操作方法外还额外提供了get,remove,insert方法在LinkedList的首部或尾部。
      2. 由于实现的方式不同,LinkedList不能随机访问,它所有的操作都是要按照双重链表的需要执行。在列表中索引的操作将从开头或结尾遍历列表(从靠近指定索引的一端)。这样做的好处就是可以通过较低的代价在List中进行插入和删除操作。
    • Set接口及其实现类——HashSet
      • Set(集),元素无序,并且不可以重复;
      • HashSet——哈希集,是Set的一个重要实现类;
    • Map接口
      • key值不能重复,value值可以重复;
      • key对value是多(一)对一的关系;
      • Map接口提供了返回key值集合、value值集合、Entry值集合,的方法;
      • HashMap类
        • HashMap是Map的一个重要实现类,也是最常用的,基于哈希表实现;
        • HashMap中的Entry对象是无序排列的;
        • Key值和value值都可以为null,但是一个HashMap只能有一个Key值为null的映射(Key值不可重复);
    • 迭代器Iterator

    Iterator是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。Iterator提供的API接口如下:

    1. boolean hasNext():判断集合里是否存在下一个元素。如果有,hasNext()方法返回 true。
    2. Object next():返回集合里下一个元素。
    3. void remove():删除集合里上一次next方法返回的元素。
  • 相关阅读:
    Django 类方式view进行进行用户验证
    Django-发送注册、忘记密码邮件验证-send_mail
    Django-当前菜单激活状态-模版 request | slice
    django url路由参数错误
    video.js不能控制本地视频或者音频播放时长
    Django中url使用命名空间的错误
    python_求相邻数
    scrapy_移除内容中html标签
    scrapy-redis功能简介
    Determining IP information for eth0...failed 错误解决
  • 原文地址:https://www.cnblogs.com/big-data-sky/p/10996105.html
Copyright © 2011-2022 走看看