Android基础-Collection之Set

本文介绍了Android中Set接口的基本概念,强调了Set接口的无序性和不允许元素重复的特点。详细讲解了HashSet、LinkedHashSet和TreeSet三种实现类的特性:HashSet基于HashMap存储,无固定遍历顺序;LinkedHashSet保持插入顺序;TreeSet则按元素的自然排序或指定比较器排序。同时,文章提到了各实现类的数据结构基础,如HashSet与HashMap、LinkedHashSet与LinkedHashMap、TreeSet与TreeMap的关系。
摘要由CSDN通过智能技术生成

前言:学习Set之前,如果你对List没有充分的了解,那就先学一波List吧!

从List我们知道它是Collection的子接口,也就是对List做了进一步的封装,那他也有了自己的特点。有序的集合List,元素可以重复。可以有null。

那么Set呢?

让我们开一波Set车吧!

Set接口

 

简单介绍:Set接口是Collection的接口,是无序的Set集合且集合内元素不能重复。常用的Set实现类:

HashSet、LinkedHashSet、TreeSet

 

1.HashSet:

 

  • 特点:基于HashMap进行存储。遍历时不保证顺序,并且不保证下次遍历的顺序和之前一样。HashSet允许null元素。
  • 与HashMap比:HashSet的集合就是HashMap的Key的集合,然后HashMap的val默认都是PRESENT。HashMap的定义即是key不重复的集合。使用HashMap实现,这样HashSet就不需要再实现一遍。所以所有的add,remove等操作其实就是HashMap的add、remove操作,遍历操作其实就是HashMap的keySet的操作。

 

2.LinkedHashSet:

 

  • 特点:LinkedHashSet相对于HashSet来说就是一个可以保持顺序的Set集合。HashSet是无序的,LinkedHashSet会根据add、remove这些操作的顺序在遍历时返回固定的集合顺序。这些顺序不是元素大小的顺序,而是可以保持2次遍历的顺序是一样的。
  • 与LinkedHashMap比:L
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值