zoukankan      html  css  js  c++  java
  • Java集合:List、Set和Map的区别,ArrayList和LinkedList有何区别..........

    一、数组和集合的区别:

      数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型);

      集合可以存储和操作数目不固定的一组数据。 所有的JAVA集合都位于 java.util包中! JAVA集合只能存放引用类型的的数据,不能存放基本数据类型。

      数组和集合相比唯一的有点就是速度快。

    二、Java集合分类:

      1.Collection(接口):派生的两个子接口:List和Set

        List(列表):有序可重复元素,可以插入多个null元素。实现List接口的常用有LinkedList,ArrayList,Vector和Stack。

     

        Set(集):序、不可重复元素,最多有一个null元素。

      2.Map(映射):不是collection的子接口或者实现类,Map是一个接口。Map 接口最流行的几个实现类是 HashMap、LinkedHashMap、Hashtable 和 TreeMap

    三、几个重要区别

      1. List、Set和Map的区别

         List:有序、可重复元素,可以插入多个null元素。

         Set:无序、不可重复元素,最多有一个null元素。

         Map:集合中的每一个元素包含一对键对象和值对象,集合中没有重复的键对象值对象可以重复。它的有些实现类能对集合中的键对象进行排序。

      2.ArrayList和LinkedList的区别?  

          (1). ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。   

        (2). 对于随机访问get和setArrayList觉得优于LinkedList,因为LinkedList要移动指针。   

        (3). 对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。 

       3.HashTable和HashMap的区别?

        (1). HashTable:继承自Dictionary类,不接受为null的键值(key)和值(value),线程安全  

        (2). HashMap:继承自AbstractMap类,可接受为null的键值(key)和值(value),线程不安全   

     

          

  • 相关阅读:
    Delphi 日期函数的单元 DateUtils
    学习官方示例 SysUtils.DecodeDate、DecodeTime
    msp430的常量可以这样定义
    学习官方示例 SysUtils.EncodeDate、EncodeTime、StrToDate、StrToTime、StrToDateTime
    Delphi中Format与FormatDateTime函数详解
    csdn太慢了搬到园子里来
    .net 2.0 真的能与1.1 安全正确地运行在同一台电脑上吗?
    照着这些做,生活自然很开心
    【转】SQL中取当前记录的ID>SCOPE_IDENTITY()
    [转]Windows XP Service Pack 2中弹出窗口拦截器的研究
  • 原文地址:https://www.cnblogs.com/wang-Java-begining/p/9902632.html
Copyright © 2011-2022 走看看