说说 List,Set ,Map三者的区别

集合
Collection 接口 定义保存单值规范

–List 接口 定义保存有序、可重复的单值规范

  --LinkedList 实现类 使用链表方式(大量数据时增删快,查找慢)

  --ArrayList  实现类 使用数组方式(大量数据时查找快,增删慢)
		  采用线程不安全机制,效率高

  --Vector     实现类 使用数组方式
		  采用线程安全机制,效率低

–Set 接口 定义保存无序、不可重复的单值规范

  --HashSet    实现类 哈希算法保存数据

  --SortedSet  接口  在set基础上定义了排序规则

       --TreeSet 实现类 排序

Map 接口 定义保存键值成对规范

  --HashMap      实现类  哈希算法保存数据
	     		 线程不安全的,效率高
	    		 可以添加空值,key == null,value == null


  --Hashtable    实现类  哈希算法保存数据
				线程安全的,效率低
	          	不可以添加空值,key != null

  --SortedMap    接口    在map基础上增加排序

      --TreeMap  实现类
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: listsetmap是三种不同的数据类型。 list是一种有序的数据集合,可以随时添加或删除元素。 set是一种无序的数据集合,每个元素唯一且不可修改。 map是一种以键值对形式存储的数据集合,每个键对应一个唯一的值,可以通过键快速获取对应的值。 ### 回答2: listsetmap是三种常用的数据结构,在编程中经常用到。它们各自有不同的特点和用途。 首先,list是一种有序的可重复的序列,每个元素都有一个下标来表示其在列表中的位置。可以通过下标来访问、修改和删除其中的元素,可以通过append()方法向列表末尾添加元素,通过insert()方法在任意位置插入元素并通过remove()方法删除元素,还可以使用切片(slice)来切割列表。list是Python中最基本和常用的数据结构之一。 其次,set是一种无序的不可重复的集合,用大括号{}或set()函数来表示。set不支持下标访问,因为它是无序的,但是可以用in和not in来判断元素是否在集合中。set中的元素不能重复,添加重复元素时,只会保留一个。set有并、交、差等操作,可以方便地进行集合运算。 最后,map是一种键-值对映射的数据结构,也称为字典(dict)。map内部实现了一个hash表,可以通过大括号{}或dict()函数创建。map可以存储任意类型数据作为key和value,支持根据key来快速查找value。可以通过下标访问、修改、删除其中的元素。map中的key是唯一的,如果添加重复的key,后者会覆盖前者。 综合来list适合存储有序的、可重复的数据,set适合存储无序的、不可重复的数据,map适合存储键-值对的数据,可以快速查找和修改。在实际应用中,根据具体的需求和场景选择不同的数据结构,可以提高程序的效率和可读性。 ### 回答3: listsetmap是计算机编程中十分常见的数据结构,它们有各自的特点和用途。 1. list(列表)是一种有序序列,其中的元素可以是任何数据类型,包括整数、字符串、甚至是另一个列表。list可以进行增删改查等操作,并且支持切片操作。因为list是有序序列,所以可以通过索引或切片获取元素或一部分元素。同时,list还可以添加、删除、修改元素,也可以通过循环等方式进行遍历。list比较适合存储顺序有意义的数据,比如一段文本、一个列表等。 2. set(集合)是一种无序序列,其中存储的元素不重复。set的元素可以是任何不可变类型,比如数字、字符串、元组等。因为set是无序的,所以不能像list一样通过索引或切片获取元素,但是可以通过循环等方式进行遍历。set的一个重要特点是支持集合运算,比如交集、并集、差集等。set比较适合对元素的去重以及所属关系的判断等操作。 3. map(映射、字典)是一种键值对的集合。map中的元素由键和值组成,键是唯一的,而值可以是任意类型。map支持根据键获取对应的值,也可以添加、删除、修改键值对。map比较适合对一些需要按照键查找的数据进行存储和操作,比如数据库中的行和列、配置文件中的节和属性等。 因此,listsetmap之间的区别可以概括如下:list是有序的序列,可以包含重复元素;set是无序的序列,元素不重复;map是键值对的集合,键唯一。在具体编程中,应根据需要选择适合自己的数据结构来存储和操作数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值