天天看点

javase 基础随笔----list和set

数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型),而JAVA集合可以存储和操作数目不固定的一组数据。并且可以随之改变长度.

|—collection

    |-----List : 无序不同步,可重复 以下举常用的三个

       |----- Vector : 线程不同步,有锁线程安全,与ArrayList相比性能慢

       |----- ArrayList : 线程不同步 替代了vector 查询速度快,增删慢

       |----- LinkedList: 链表结构 线程不同步 增删速度快

以上三个都是因为数据结构导致各种增删查改之间有速度区别

    |-----Set:不可重复的集合

       |-----hashset 不同步 顺序不能保证 因为是根据hash表来算的,先判断hashcode算法判断地址是否相同,如果不相同再根据equals来判断内容是否相同

       |-----treeset 保证顺序 有两种排序规则 默认是自然排序