zoukankan      html  css  js  c++  java
  • Java集合异同

    1、Collection 接口 :

    Collection 是最基本的集合接口,一个 Collection 代表一组 Object,即 Collection 的
    元素, Java不提供直接继承自Collection的类,只提供继承它的子接口(如List和set)。

    Collection 接口存储一组不唯一,无序的对象。


    2、List 接口 :

    List接口是一个有序的 Collection,使用此接口能够精确的控制每个元素插入的位置,
    能够通过索引(元素在List中位置,类似于数组的下标)来访问List中的元素,第一个元素的
    索引为 0,而且允许有相同的元素。

    List 接口存储一组不唯一,有序(插入顺序)的对象。


    3、Set 接口:

    Set 具有与 Collection 完全一样的接口,只是行为上不同,Set 不保存重复的元素。

    Set 接口存储一组唯一,无序的对象。


    4、Map:

    Map 接口存储一组键值对象,提供key(键)到value(值)的映射。

    5、什么是哈希?
    (1)哈希就是基于数组,通过把键值用哈希函数转换成数组下标。

    (2)如果转换的数组下标对应的数据项已经存在数据,这就叫做冲突,而解决冲突的办法有开放地址法和链地址法。

    (3)开放地址法就是一个一个的顺着数组往下查找空位。

    (4)链地址法就是数组中的每位置都设有一条链表,数据项就放到键值所对应的数组下标中的链表中,包括多个键值相同的数据项,也就是键值映射到同一个数组位置,数据项同样放到链表中。

    6、Set和List的区别:

        1. Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以
    重复的元素。

        2. Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置改变 <实现类
    有HashSet,TreeSet>。

        3. List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。
    查找元素效率高,插入删除效率低,因为会引起其他元素位置改变 <实现类有ArrayList,
    LinkedList,Vector> 。

  • 相关阅读:
    oracle sql 优化大全
    MyBatis学习笔记
    Eclipse启动项目时,删除workspaces无用的工作区间
    java 中 BigDecimal 怎么与 0 比较
    Mybatis 异常: The content of elements must consist of well-formed character data or markup
    ODS与数据仓库
    MyBatis 缓存
    管理信息系统需求调研分析指南
    Merge Into 语句代替Insert/Update在Oracle中的应用实战
    Oracle数据库常用函数使用--持续更新中
  • 原文地址:https://www.cnblogs.com/zz-newbie/p/14836756.html
Copyright © 2011-2022 走看看