`
talentluke
  • 浏览: 604921 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

set,map,list之间有什么区别和共同点

 
阅读更多

list   --其中的值允许重复,因为其为有序的数据结构 ,允许空值

set --其中的值不允许重复,无序的数据结构 

map--成对的数据结构,健值必须具有唯一性(键不能同,否则值替换)

HashSet集合(不允许重复元素,允许空值): 被比较的对象要重写hashCode()方法和重写equals()方法, 两个都要。
TreeSet集合.(不允许重复元素)

    方法一:被比较的对象(如学生类)实现Comparable接口,重写CompareTo()方法.--(不允许空值)

    方法二:TreeSet的构造方法,传入Comparator接口的实现类,他是重写了compare()方法.--(允许空值)
HashMap集合: 与HashSet情况一样. 

TreeMap集合: 与TreeSet情况一样.  

对List排序可用Collections类的sort()方法.要用到Comparable或Comparator接口.

===========================================================

list:arraylist,vector,linkedlist,其中vetctor线程同步,linkedlist插删
基本上list都是基于array的;里面的元素都可以重复;
set:hashset,treeset;set不能够重复,set是基于map的;treeset是排序的
list和set是继承collection接口的,map不是
map:hashtable,hashmap,treemap;hashtable是线程同步的,map的key不能够重复,value可以;treemap是排序的
List和Set都是接口。他们各自有自己的实现类,有无顺序的实现类,也有有顺序的实现类。
最大的不同就是List是可以重复的。而Set是不能重复的。
List适合经常追加数据,插入,删除数据。但随即取数效率比较低。
Set适合经常地随即储存,插入,删除。但是在遍历时效率比较低。
list,set,map都是可以使用collections.sort()排序的  


分享到:
评论

相关推荐

    Java集合框架[定义].pdf

    集合框架的核心是几个主要的接口,包括`Collection`、`List`、`Set`和`Map`。`Collection`是最基础的接口,`List`和`Set`都是它的子接口。`List`保持元素的有序性,并允许重复元素,而`Set`则不允许重复元素。`Map`...

    技术面试题汇总

    List、Map、Set三个接口,存取元素时,各有什么特点?** - `List`保持元素的插入顺序,支持重复元素。 - `Map`以键值对的形式存储数据,不允许键重复。 - `Set`不支持重复元素,元素无序。 **51. 说出一些常用的类...

    Java集合类层次结构

    常见的List实现有ArrayList和LinkedList。ArrayList是以数组形式存储元素,提供随机访问和快速插入删除;LinkedList则使用双向链表,适合频繁进行添加和删除操作。 3. Set接口:Set接口不保证集合中元素的顺序,且...

    Java面试题目-请参考

    - 解释`List`, `Set`, `Map`接口的区别。 4. **多线程**: - 如何在Java中创建线程?并解释`Runnable`和`Thread`的区别。 - 线程同步有哪些方法?如`synchronized`关键字、`wait()`, `notify()`和`notifyAll()`...

    Java面试总结

    Java面试总结涵盖了JavaSE到...List、Map和Set接口分别对应不同的集合类型,它们在存取元素时有不同的特点。例如,List是有序集合,可以包含重复元素;Map是键值对集合,不允许重复键;Set是不允许重复元素的集合。

    Modern C++ 11 知识点

    知识点从C++标准模板库(STL)开始,包括了bitset、vector、string、map、set、list、priority_queue等容器的使用方法和特性,还涉及了各种算法和操作,例如排序、字符串处理、堆栈操作、递归等。 1. std::bitset...

    2021最新必看的Java面试题.docx

    8. Java集合框架中 List、Set、Map 的区别是什么?List 是有序的集合,允许重复元素,可以有索引;Set 是无序的集合,不允许重复元素;Map 是存储键值对的结构,键唯一,可以有多个值。9. 什么是抽象类和接口?抽象...

    java简答题1

    - 抽象类:可以包含字段、方法(包括抽象方法和非抽象方法),可以有构造器,用于定义一组共同特征的类的模板。 - 接口:只包含常量和抽象方法,是完全公开的,用于定义行为规范,实现多继承。实现接口必须实现...

    web 答辩面试题.pdf

    Collection 接口又分为 Set 接口和 List 接口,Set 接口的实现类有 TreeSet 和 HashSet,而 List 接口的实现类有 ArrayList、LinkedList 和 Vector。Map 接口的实现类有 TreeMap、HashMap 和 HashTable。Collections...

    JAVA基础面试题V1.0.docx

    3. **集合框架**:集合主要包括List、Set和Map。ArrayList、LinkedList和Vector都是List的实现,各有其特点:ArrayList基于数组,适合随机访问;LinkedList基于链表,适合插入和删除;Vector线程安全但效率较低。Set...

    STL入门.ppt 免费下载 共同学习

    2. **容器(Container)**:容器是STL中的数据结构,如vector、list、set、map等,它们存储和管理元素。容器的设计允许动态增长和收缩,支持各种操作,如插入、删除、查找等。 3. **算法(Algorithm)**:算法是...

    Java集合框架

    List接口的常用实现类有ArrayList和Vector,它们都是基于动态数组实现的,可以动态地调整大小。ArrayList不是线程安全的,而Vector则是同步的,但是Vector的同步性能较低。LinkedList实现了List和Deque接口,它由一...

    Java 基础面试题

    4. **List、Set、Map的区别**: - List:有序列表,允许重复元素,如ArrayList和LinkedList。 - Set:无序集合,不允许重复元素,如HashSet。 - Map:存储键值对,键唯一,如HashMap。 5. **何时使用List、Map、...

    java编程基础笔记

    Java标准库提供了丰富的API,如集合框架(List、Set、Map)、I/O流、线程、网络编程等。集合框架是存储和操作对象的主要工具,其中ArrayList和LinkedList是两种常用的动态数组实现。I/O流用于数据的输入输出,包括...

    STL源码剖析书 另附源码一份SGI版

    常见的容器有vector(动态数组)、list(双向链表)、deque(双端队列)、set(红黑树实现的集合)、map(红黑树实现的映射)等。每个容器都有其特定的性能特性和使用场景。例如,vector适合快速访问和在尾部插入,...

    c++学习笔记w版.pdf

    迭代器类型各异,但都有共同的语义和操作,如递增(`++`)和解引用(`*`)。`std::sort`函数用于对序列进行排序,`std::ostream_iterator`和`std::istream_iterator`则方便地实现了输入输出流与元素之间的转换。在...

    2021-2022计算机二级等级考试试题及答案No.3178.docx

    **知识点**: List、Set和Map是Java中三种常见的集合类,它们各有特点。 **详细解释**: 集合类是Java编程中非常重要的一部分,主要包括List、Set和Map三种类型。 - **List**: 特点是元素有序、元素可重复。List接口...

    Java面试题集锦 很好的哦

    - List、Set和Map接口:了解它们各自的特点和常用实现类,如ArrayList、LinkedList、HashSet、HashMap等。 - 泛型:用于限制集合中存储的数据类型。 - 链表和数组的区别:在性能和操作上的差异。 5. **内存管理...

    JAVA笔试面试题及答案汇总

    - List、Set、Map接口:List按顺序存储元素,允许重复;Set不允许重复,不保证顺序;Map存储键值对,键唯一。 - ArrayList与LinkedList:ArrayList基于数组,查询快,插入删除慢;LinkedList基于链表,插入删除快...

    java课程的类和对象、继承、异常和集合知识点老师总结

    Java集合包括List(如ArrayList和LinkedList)、Set(如HashSet和TreeSet)和Map(如HashMap和TreeMap)等接口及其实现。集合提供了添加、删除、查找和遍历元素的方法。此外,还有泛型的概念,允许在集合中指定元素...

Global site tag (gtag.js) - Google Analytics