有关java中的集合List,set,Map 等

1.List是以特定索引来存取元素,能够有重复元素。Set不能存放重读元素(用对象的equals()方法来区分元素是否重复)。Map保存键值对映射,映射关系能够一对一或多对一。Set和Map容器都有基于哈希存储和排序树的两种实现版本,基于哈希存储的版本理论存取时间复杂度O(1),而基于排序树版本的实如今插入或删除元素时会按照元素或元素的键(key)构成排序树从而达到排序和去重的效果。 2.Treemap和TreeSet在排序时如何比较元素?Collections工具类中的sort()方法如何比较元素? 答:TreeSet要求存放的对象所属的类必须实现Comparable接口,该接口提供了比较元素的compareTo()方法,当插入元素时,会会掉该方法比较元素的大小, TreeMap要求存放键值对映射的键必须实现Comparable接口从而根据键对元素进行排序。 Collections工具类的sort()方法有两种重载的形式,第一种要求传入的待排序同期中存放的对象,实现Comparable接口,并以实现元素进行比较。 第二种不强制行要求容器中的元素必须比较,可是要求传入第二个参数,参数是Comparator接口的子类型(须要重写compare方法实现元素的比较),修昂党羽一个临时定义排序规则,其实就是经过接口注入比较元素大小的算法,也是对会掉模式的应用。算法

相关文章
相关标签/搜索