zoukankan      html  css  js  c++  java
  • 集合

    集合:

    特点:元素类型可以不同、集合长度可变、空间不固定。

    Java中对一些数据结构和算法进行了封装即集合。集合也是一种对象,用于存储、检索、操作和传输对象。

    Jcf(Java collections framework )集合框架。它提供了用于管理集合的接口和类。

    集合框架主要包含三个内容:

    接口                  collection :1、list(特点:线性,元素可以重复)                                   2、set(特点:元素不可以重复)

    Map集 合,一个元素包含两个对象(键对象和值对象),而且键不能重复。

    实现类              ArrayList 集合的长度,就是集合元素的个数。

    算法。

    集合和数组的区别:

    1、  集合中只能存放对象的引用,数组可以是基本类型,可以是引用类型。

    2、  集合的长度可以随元素多少而变化,数据创建好以后,长度不能变化。

    3、  集合算法比较丰富,可以省去开发者很多编码。但数组算法有限。

    List三个实现类的区别:

             ArrayList:底层部分有数组实现。遍历速度快,中间插入删除元素速度慢。

             Vector:和Arraylist类似。底层部分有数组实现。遍历速度快,中间插入删除元素速度                                      慢。但它是线程安全的类,效率较低。

             Linkedlist:采用双向链表实现。是不连续的内存空间。每个元素除了存放数据外,还要存放上一个和下一个元素的地址。中间插入删除速度快,遍历速度慢。

    Set集合实现类的区别:

    AbstractSet

    ConcurrentSkipListSet

    CopyOnWriteArraySet

    EnumSet

    HashSet:将元素按hash码排列

    JobStateReasons

    LinkedHashSet:将元素按加入顺序排列

    TreeSet:可以将元素按指定规则排列

    Map集合实现类的区别:

    HashMap :元素按键对象的hash码排列。线程不安全,允许null键,和null值。

    Hashtable:元素按键对象的hash码排列。线程安全,不允许null键和null值。

    TreeMap:元素按键对象指定的规则排列。

    AbstractMap, Attributes, AuthProvider, ConcurrentHashMap, ConcurrentSkipListMap, EnumMapIdentityHashMap, LinkedHashMap, PrinterStateReasons, Properties, Provider, RenderingHints, SimpleBindings, TabularDataSupport, TreeMap, UIDefaults, WeakHashMap

    1、Map集合如何添加元素?Map集合如何根据键得到值?

     m.put(key,vaule), 将map中的key存入set集合,通过迭代器取出所有的key,再获取每一个键对应的值 

     

    方便查找,可根据键,找到键值

    For循环遍历,只能用于list集合。

    迭代器可用于list,set,map的遍历

    For each方式

    Iteractor<E> it=list.iteractor();

  • 相关阅读:
    沈阳集训day2
    ac自动机
    2018沈阳集训day1
    洛谷P1875 佳佳的魔法药水
    洛谷P1941 飞扬的小鸟
    Noip2016day2
    1123: [POI2008]BLO
    1718: [Usaco2006 Jan] Redundant Paths 分离的路径
    P3119 [USACO15JAN]草鉴定Grass Cownoisseur
    [LeetCode] Clone Graph
  • 原文地址:https://www.cnblogs.com/JLeeci/p/5410485.html
Copyright © 2011-2022 走看看