List接口以及数据结构存储特点

2018-09-05 07:47:27来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、简述List接口的特点
1、存取有序的集合
2、有索引值
3、元素可以重复


二、hashCode和equals方法
简述HashCode去除重复元素的原理
1、调用被添加元素的HashCode(),和hashSet中已有元素的HashCode()进行比较
2、如果不同,直接存储
3、如果相同,调用equals方法比较是否相同
4、不相同,直接存储元素
5、相同,直接舍弃,不存储

三、数据结构
简述常见的数据结构中元素的存取特点
1、栈:stack,又称堆栈,对元素的存取特点是:先进后出。
 即,存进去的元素,要在它后面元素一次取出后,才能取出该元素。
2、队列:queue,简称队,对元素的存取特点是:先进先出。
 即:存进去的元素要在它前边的元素取出后才能取出。
3、数组:Array,是有序的元素数列,对元素的存取特点是:
     1)、查找元素快;通过索引值直接查找数组中的元素。
     2)、增删元素慢;
        (1)、指定索引位置增加元素,需要创建一个新的数组,将指定元素

            存储在指定的索引位置,再把元素组元素根据索引复制到新数组对应索引的指定位置。
        (2)、删除指定索引值的元素,需要建立一个新数组,将原数组里面的元素放到新数组中,
            需要删除的指定索引值对应的元素,不放在新数组中。

4、链表:linkedList,对元素存取特点:
    1)、多个节点之间通过地址值进行连接。
 
    2)、查找元素慢

    3)、增删元素快

        增加元素:只需要修改连接下一个元素的地址

        删除元素: 只需要修改连接上一个元素的地址


四、Comparable 和 Comparator 比较器

简述Comparable和Comparator两个接口的区别

  Comparable:强行对实现它的每个类的对象进行整体排序。

    这种顺序被称为类的自然顺序

    类的compareTo方法被称为自然的比较方法,只能在类中实现compareTo()

    一次,不能经常修改类的代码实现自己想要的顺序。

    实现此接口的对象列表(和数组)可以通过Collections.sort(和Arrays.sort)进行自动排序

    对象可以用作有序映射中的键或者有序集合中的元素,不用指定比较器。

  Comparator:强行对某个对象进行整体排序。

    可以将Comparator传递给sort方法(Collections.sort或Arrays.sort)

    从而允许在排序顺序上实现精准控制

     还可以使用Comparator来控制某些数据结构(如有序set或有序映射)的顺序,

        或者为那些没有自然顺序的对象collection提供排序。




标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Json字符串转对象和转List集合操作

下一篇:JVM类加载机制