美文网首页
List和Set的区别

List和Set的区别

作者: 是一动不动的friend | 来源:发表于2017-10-17 10:30 被阅读2次

1.List特点:元素有放入顺序,元素可重复 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。

Set特点:元素无放入顺序,元素不可重复,重复元素会覆盖掉,(注意:元素虽然无放入顺序,但是元素在set中的位置是由该元素的HashCode决定的,其位置其实是固定的,加入Set的Object必须定义equals()方法,另外list支持for循环,也就是通过下标来遍历,也可以用迭代器,但是set只能用迭代,因为他无序,无法用下标来取得想要的值。)


2.List列表通常允许重复的元素。更确切地讲,列表通常允许满足 e1.equals(e2) 的元素对 e1 和 e2,并且如果列表本身允许 null 元素的话,通常它们允许多个 null 元素。

Set是一个不包含重复元素的 collection。更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2,并且最多包含一个 null 元素。


3.List尽管列表允许把自身作为元素包含在内,但建议要特别小心:在这样的列表上,equals 和 hashCode 方法不再是定义良好的。

Set所有构造方法必须创建一个不包含重复元素的 set(正如上面所定义的)。如果将可变对象用作 set 元素,那么必须极其小心。如果对象是 set 中某个元素,以一种影响 equals 比较的方式改变对象的值,那么 set 的行为就是不确定的。此项禁止的一个特殊情况是不允许某个 set 包含其自身作为元素。

相关文章

  • 前百度面试官整理的——Java后端面试题(一)

    List 和 Set 的区别 List , Set 都是继承自 Collection 接口 List 特点:元素有...

  • java中list和set的区别是什么

    java中list和set的区别是什么 List方法与set方法的区别有: 1、重复对象 list方法可以允许重复...

  • 集合list和set排序的实现

    List、Set的相同点和区别 List和Set继承了Collection接口。List以特定索引来存取元素,可以...

  • List 和 Set 区别

    List、Set都是集继承集合Collection,属于Collection子类; List是有序集合,允许重复值...

  • java面试题1

    java基础 List和Set的区别答:Set:不包含重复元素的Collection。List:有顺序的colle...

  • 接口Set和List的比较

    Set和List都是Collection的子接口,那么Set和List接口有什么区别呢? 比较 我们直接通过源码,...

  • List和Set的区别

    List:1.可以插入重复元素;2.可以插入null;3.是有序容器,输出的顺序就是插入的顺序。 Set:1.不允...

  • List和Set的区别

    1.List特点:元素有放入顺序,元素可重复 ,此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以...

  • List 和 Set 的区别

    list 和 set 都是继承 collection 接口; list 特点:元素有放入顺序,元素可重复; set...

  • List和Set的区别

    List和Set的区别: Set 接口实例存储的是无序的,不重复的数据。List 接口实例存储的是有序的,可以重复...

网友评论

      本文标题:List和Set的区别

      本文链接:https://www.haomeiwen.com/subject/pgwruxtx.html