JAVA (集合和数据结构)
Collection和Collections的区别:
- Collection是一个java集合接口,Set和List都继承了Collection接口,Map没有。
- Collections是一个工具类,它暴汗各种有关集合的静态多态方法,此类不能实例化,服务于Collection框架。
Java集合主要分为三种类型:Set(集),List(列表),Map(映射)
Set(集):
HashSet:(根绝判定hascode是否相同,若相同,在判断两个元素的equals,若为true则为同一个元素,否则不是同一个元素;HashSet通过HashCode来确定元素再内存的位置,一个hashCode可以存放多个元素)
- 排列无序,不可重复
- 底层是hash表实现
- 储存速度快
- 内部是hashMap
TreeSet: 每次新增都会进行排序,Integer和String会进行默认的TreeSet排序,自定义的类必须实现comparable接口,并且覆写compareTo函数,实现排序,分别返回负数(小于),0(相等),正整数(大于)。 - 排列有序,不可重复
- 底层是二叉树
- 排序存储