zoukankan      html  css  js  c++  java
  • 集合的概述

    List、Map、Set的区别与联系

    1、结构特点

    • List和Set是存储单列数据的集合,Map是存储键值对这样的双列数据的集合;
    • List存储的数据是有序的并且值是可以重复;Map中存储的数据是无序的,它的键是不允许重复的,但它的值是可以重复的;Set中存储的数据是无序的并且是不允许重复的,它的元素是由hashcode决定的,所以是固定的(用户无法控制hashcode,所有是无序的);

    2、实现类

    1. List接口的3个实现类
      • LinkedList基于链表的实现,非线程安全的,链表内存是散列的,增删快,查询慢;
      • ArrayList是基于数组的,非线程安全的,效率高,增删慢,查询快;
      • Vector是基于数组的,线程安全的,效率低,增删慢,查询慢;
    2. Map接口的4个实现类
      • HashMap基于hash表的Map接口实现,非线程安全,高效,支持null值与null键;
      • HashTable 线程安全,线程安全,低效,不支持null值与null键;
      • LinkedHashMap是HashMap的一个子类,保存了记录的插入顺序;
      • SortMap接口 Treemap是SortMap的实现类,能够把保存的记录根据键排序,默认是键值的升序
    3. Set接口有2个实现类
      1. HashSet 底层是由HashMap实现,不允许集合中有重复的数值;
      2. LinkedHashSet 继承于HashSet,同时又基于LinkedHashMap来进行实现,底层实现是LinkedHashMap;
  • 相关阅读:
    有耗介质中波的传播
    介质分界处的反射
    TFSF边界条件
    吸收边界条件
    .apk的MIME类型
    Java instanceof
    Java toString()方法的自动调用
    整理一系列优秀的Android开发源码
    GOOGLE CODE ANDROID 开源项目 集合
    imsdroid 学习(初认识)
  • 原文地址:https://www.cnblogs.com/qiaoliming/p/list.html
Copyright © 2011-2022 走看看