zoukankan      html  css  js  c++  java
  • javase集合(list、set、map、Arraylist与linkedList、HashMap与HashTable、HashTable与ConcurrentHashMap)

    1、java中的集合

    (1)单列集合(collection):

    List集合:存取有序,有索引,元素可以重复

    Set集合:存取无序,没有索引,元素不可以重复(根据equals和hashCode判断),也就是说如果一个对象要存储在Set中,必须重写equals和hashCode方法。

    (2)双列集合(Map):

     2、Arraylist与linkedList的区别

    (1)特点:

             Arraylist底层使用的是数组:具有索引,查询快,增删慢,数组在内存中是一块连续的内存,插入或删除需要移动大量的元素

             LinkedList底层使用的是链表:当前元素分为数据域和指针域,指针域存放下一个或上一个元素的地址,查询时从头部开始,一个一个地找,查询效率较低。插入时不需要移动内存中的元素,只需要改变引用的指向即可,所以插入或删除的效率高。

    (2)使用场景:

    ArrayList:使用在查询比较多,插入删除较少的情况

    LinkedList:使用在查询比较少,插入和删除比较多的情况

    3、HashMap与HashTable的区别和联系

    (1)相同点:

    都可以用来存储key_value的数据

    (2)不同点:

    HashMap可以把null作为key或者value,而HashTable不可以

    HashMap线程不安全,效率较高,HashTable线程安全,效率较低

    4、HashTable与ConcurrentHashMap的区别和联系

    使用分段,相当于把一个hashmap分成多个段,每一段分配一把锁,这样就可以支持多线程访问,所以,多线程的情况下效率较高。

  • 相关阅读:
    java实现第六届蓝桥杯立方体自身
    Java实现第八届蓝桥杯包子凑数
    Snapshot Standby
    [NOI2014]购票
    DG的数据保护模式
    严格次小生成树
    Java实现第八届蓝桥杯拉马车
    Java实现第八届蓝桥杯拉马车
    Java实现第八届蓝桥杯迷宫
    在物理 Data Guard 中对异构主备系统的支持 (文档 ID 1602437.1)
  • 原文地址:https://www.cnblogs.com/zhai1997/p/12450896.html
Copyright © 2011-2022 走看看