• java数组与集合


    不论是基本数据类型,还是引用数据类型的数据,都可以使用集合的形式对它们进行操作。

    数组:

    数组在java中是一个特殊类,

    java中的基本数据类型包括:byte,char,short,int,long,float,double,boolean 8中,其他的都是引用数据类型。

    数组创建的时候必须指定一个长度

    数组的复制,不能用 = 来直接,因为这样的两个数组指向同一个内存空间,修改一个会对另一个产生影响。可以使用java中的System.arraycopy()来复制,也可以自己用方法遍历。

    集合:

    集合是用来存储其他对象的对象,大致组成如图所示:

    列表(list):有序存放,允许重复,可以存放不同类型的对象        ArrayList,LinkedList

    集合(set):无序存放,不允许重复,可存放不同类型的对象,    HashSet,LinkedSet      

    SortedSet:排好序列的Set                                                             TreeSet(有序)

    映射(Map):俗称键值对,如手机中的电话本                              HashMap

    SortedMap:排好序列的Map                                                          TreeMap(有序)

    Array在访问(查看)数据库时效率高,而在插入或者删除的时候效率低。

    Linked在访问(查看)数据库时效率低,而在插入或者删除的时候效率高。

    ArrayList在整体上效率高与LinkedList,因此大部分情况下都会选择ArrayList,除非很多时候需要进行插入和删除数据。

    Vector是线程安全的,当遇到多线程时,也可以使用ArrayList,是用过Java提供的Collections类来转换成线程安全的类。

    1.Linked的实现:

        底层使用双向链表来存储,

        每个节点都包含了对前一个和后一个元素的引用,

    2.Hash的实现:

         使用数组来存储

         依赖hash算法来存储,我们知道每个对象都有它的hash值;

         HashSet底层是使用HashMap来存储的,在存储时按key-value来存储,只不过把值存在key中,而value则全部为null;

    3.Tree的实现:

  • 相关阅读:
    k8s service定义与创建
    k8s service存在的意义
    k8s job控制器-执行一次性任务
    k8s CronJob定时任务
    k8s Daemonset功能
    k8s deployment控制器Replicaset
    k8s deployment删除
    k8s deployment控制器水平扩容
    k8s deployment发布失败回滚
    k8s deployment控制器:滚动升级 平滑过渡 零停机
  • 原文地址:https://www.cnblogs.com/ycmxm/p/7119830.html
Copyright © 2020-2023  润新知