zoukankan      html  css  js  c++  java
  • list和map集合

    List特点:元素有放入顺序,元素可重复
    Set特点:元素无放入顺序,元素不可重复(注意:元素虽然无放入顺序,但是元素在set中的位置是有该元素的HashCode决定的,其位置其实是固定的)
    Map特点:元素按键值对存储,无放入顺序 (应该知道什么是键值对吧!)
    List接口有三个实现类:LinkedList,ArrayList,Vector
    LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢
    ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低
    Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet
    SortedSet接口有一个实现类:TreeSet(底层由平衡二叉树实现)
    Query接口有一个实现类:LinkList
    Map接口有三个实现类:HashMap,HashTable,LinkeHashMap
      HashMap非线程安全,高效,支持null;HashTable线程安全,低效,不支持null
    SortedMap有一个实现类:TreeMap
    其实最主要的是,list是用来处理序列的,而set是用来处理集的。Map是知道的,存储的是键值对
    set 一般无序不重复.map kv 结构 list 有序
    set集合中的对象不按特定的方式排序,不能包含重复的对象,set集合由set接口和set接口的实现类组成,set接口继承了collection接口,包含collection接口中的所有方法
    map接口常用的实现类有hashmap和treeMap,建议使用hashmap类实现map集合,因为由hashmap类实现的map集合对于添加和删除映射关系效率更高
    HashMap是基于哈希表的map接口的实现,hashmap通过哈希码对其内部的映射关系进行快速查找;而treeMap中的映射关系存在一定的顺序,如果希望map集合中的对象也存在一定的顺序,应该使用treemap类实现map集合

    自立更生,艰苦奋斗!
  • 相关阅读:
    C++ 引用做左值
    C++ 引用本质的详解
    C++ 引用基础
    C语言错误 指针的类型错误
    C++ c++与C语言的区别(三目运算符,const修饰符)
    C++ c++与C语言的区别(struct类型的加强,函数-变量类型加强,bool类型)
    C++ c++与C语言的区别(实用性增强,register关键字增强,全局变量检测增强)
    C++ c++初识
    C语言 Linux内核链表(企业级链表)
    C语言 结构体中属性的偏移量计算
  • 原文地址:https://www.cnblogs.com/javazxy/p/6412654.html
Copyright © 2011-2022 走看看