zoukankan      html  css  js  c++  java
  • LIst、Map、Set

    List(列表)有序可重复
     
      list有ArrayList、LinkedList
      其中ArrayList实现了可变大小的数组,它允许所有元素,包括null
      和LinkedList一样,ArrayList也是非同步的
      由数组实现的List,,允许对元素进行快速随机访问,但是向List中插入与移除元素的速度很慢。
      ListInterator只应该由后向前遍历ArrayList,而不是用来插入和移除元素

     Vector非常类似ArrayList,但是Vector是同步的。
     
      LinkedList实现了List接口,允许null元素。
      注意LinkedList没有同步方法。如果多个线程同事访问一个List,则必须自己实心访问同步。
     
      ArrayList和LinkedList的区别:
      1.ArrayList实现了基于动态数组的数据结构。LinkedList基于链表的数据结构
      2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针
      3.对于新增和删除add和remove,LinkedList比较占优势,因为ArrayList要移动数据
     


    Set(集)无序且不可重复

    Set具有与Colletion完全一样的接口,因此没有任何额外的功能
    实际上set就是colletion,只是行为不同
    加入set的元素必须定义equals()方法
    以确保对象的唯一性
    HashSet为快速查找设计的Set。存入hashSet 的对象必须定义hashcode()

    Map (映射)

    Map没有继承Colletion,Map提供key和value的映射 ,你可以通过“键”查找 ”值“。一个Map不同包含相同的key,每个key只能映射一个value Map接口提供3种结合的视图,Map的内容可以被当做一组key集合,一组value集合或者一组key-value映射 HashTable类继承Map接口实现一个key-value映射的哈希表。任何非空(non-null)的对象都可以作为key或者value hashTable是同步的

    HashMap类 HashMap和HashTable类似,也是基于散列表的实现 不同之处是HashMap是非同步的,并且允许null 但是将HashMap视为colletion时,其迭代子操作 实际开销和aHAshMap的容量成正比 Treemap类的特点在于你得到的解雇欧式经过排序的

     HashMap线程不安全的 HashTable是线程安全的

    http://ifeve.com/concurrenthashmap/

    总结很重要哦 方法得当,坚持会有奇迹哦
  • 相关阅读:
    Windows Live Writer网址缩短插件
    花点时间了解消息,句柄和窗口
    大学生的心声
    CSS,样式选择器
    如何转换非发布网站为发布网站(how to convert nonpublishing sites to publishing sites)
    SharePoint 2010视频演示和培训
    [转]ASP.NET会话(Session)保存模式
    SharePoint查阅项(Lookup)字段多值分隔符
    [转]再看关键链进度计划
    如何通过组策略管理器修改Windows系统设置选项
  • 原文地址:https://www.cnblogs.com/sunyuhuan/p/7204537.html
Copyright © 2011-2022 走看看