• Java集合体系


    Java的集合主要由Collection[接口,单列集合]Map[接口,双列集合]构成。



    List,Set集合[Collection的子接口]

    List:是一个接口,需要被实现,可以插入null,元素可重复。常用实现类如下:
    • ArrayList:底层数据结构是数组,线程不安全,可以存储重复元素

    • LinkedList:底层数据结构是链表,线程不安全,可以存储重复元素

    • Vector:底层数据结构是数组,线程安全,可以存储重复元素

    Set:是一个接口,需要被实现,可以插入一个null,元素不可重复。常用实现类如下:
    • HashSet:底层数据结构是哈希表,线程不安全,不可以存储重复元素,基于HashMap实现。

    • LinkedHashSet:底层数据结构采用链表和哈希表共同实现,线程不安全,不可以存储重复元素

    • TreeSet:底层数据结构是红黑树,线程不安全,不可以存储重复元素,基于TreeMap实现。

        会排序。分为自然排序(无参构造)和比较器排序(有参构造)。
        自然排序要求元素必须实现Compareable接口【像基本类型,String类型都实现了Compareable接口的】,并重写里面的compareTo()方法,元素通过比较返回的int值来判断排序序列,返回0说明两个对象相同,不需要存储;
    
        比较器排需要在TreeSet初始化是时候传入一个实现Comparator接口的比较器对象,或者采用匿名内部类的方式new一个Comparator对象,重写里面的compare()方法;
    




    数组与List之间转换

    数组——>List:Arrays.asList(array)
    List——>数组:List实例.toArray()



    集合实现自定义排序

    方法一:

        如果该集合元素不重复,都是些基本类型或者String类型,那么可以用TreeSet实现,能自动排序。
        如果该集合元素不重复,都是引用类型,那么需要通过比较器来实现。
    

    方法二:

        采用CollectionUtils.sort方法进行排序
        https://www.cnblogs.com/itlihao/p/14947978.html
    






    Map集合[接口]

    Map:是一个接口,需要被实现,键不可重复。常用实现类如下:
    • HashMap:
    • TreeMap:
    • HashTable:

    HashMap实现原理:https://www.cnblogs.com/itlihao/p/14948189.html

  • 相关阅读:
    设计模式(四)——代理、模板、命令、访问者、迭代器、观察者
    设计模式(三)——桥接、装饰、组合、外观、享元
    设计模式(二)——工厂、原型、建造者、适配器
    设计模式(一)——设计原则、单例
    MySQL索引原理和锁
    MySQL(四)——索引使用等
    【摘】1范数与2范数优缺
    随机森林相关
    一些SEED数据集介绍
    神经网络的非线性
  • 原文地址:https://www.cnblogs.com/itlihao/p/16035027.html
Copyright © 2020-2023  润新知