• 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),线程不安全   

     

          

  • 相关阅读:
    布隆过滤器原理与应用场景
    【转】程序员的世界真的很难懂~
    IDEA 2019.2.4 破解安装教程
    【转】只有程序员才能看得懂的段子
    Linux 正则表达式
    【转】雷军做程序员时写的博客,很强大!
    如何同步 Linux 集群系统时间
    百度共享云盘
    Shell 脚本 test 命令详解
    Linux 命令大全
  • 原文地址:https://www.cnblogs.com/wang-Java-begining/p/9902632.html
Copyright © 2020-2023  润新知