Map
Map是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。对于静态类型的查找来说,一般直接遍历或者用二分查找【不会对区间进行插入和删除操作】
而在现实生活中的查找比如:
- 根据姓名查询考试成绩
- 通讯录,即根据姓名查询联系方式
- 不重复集合,即需要先搜索关键字是否已经在集合中
注:Map最重要的特性就是去重!
当我们平常在做题时,遇到删除重复数据,或者找每个数据重复的此时等…都可以用Map来解决
Map是一个接口类,该类没有继承自Collection,该类中存储的是结构的键值对,并且K一定是唯一的,不能重复。
使用的是 key-value模型:
key-value 模型中 key 和 value 是一个整体,就类似于 我们一提起齐天大圣,就想起孙悟空。key-value模型就是类似于这样的一组组合。【key 和 value 互相修饰】
Map中的Value可以使一个链表形式,也就是List类型,这样就可以存储多个数据。这就牵扯到了Map添加时遇到key值重复的数据的处理方法!!!
if (mutableMap.containsKey((dataBuf[i] and 0xff.toByte()).toInt())) {
var locationList =
mutableMap[(dataBuf[i] and 0xff.toByte()).toInt()] as MutableListInt>
locationList.add(checkSignals(i))
} else {
val locationList: MutableListInt> = mutableListOf()
locationList.add(checkSignals(i))
muta服务器托管网bleMap.put((dataBuf[i] and 0xff.toByte()).toInt(), locationList)
}
方法 | 解释 |
---|---|
V get(Object key) | 返回 key 对应的 value |
V getOrDefault(Object key, V defaultValue) | 返回 key 对应的 value,key 不存在,返回默认值 |
V put(K key, V value) | 设置 key 对应的 value |
V remove(Object key) | 删除 key 对应的映射关系 |
Set keySet() | 返回所有 key 的不重复集合 |
Collection values() | 返回所有 value 的可重复集合 |
Set | 返回所有的 key-value 映射关系 |
boolean containsKey(Object key) | 判断是否包含 key |
boolean containsValue(Object value) | 判断是否包含 value |
Map是接口类,不能实例化对象,所以只能实例化其实现类TreeMap或者HashMap
MapString,Integer> map = new TreeMap>();
MapString,Integer> map = new HashMap>();
List
Java创建List的几种方法
//1.通过 new ArrayList()
List 类型> 名称 = new ArrayList>();
EG: ListString> stringList = new ArrayList>();
//2. 通过Arrays.asList()
ListString> stringList = Arrays.asList("1", "2", "3");
//3.通过hutool工具类collectionUtil创建
ListString> stringList = CollectionUtil.newArrayList("1", "2", "3");
hutool 依赖
dependency>
groupId>cn.hutool/groupId>
artifactId>hutool-all/artifactId>
version>4.5.7/version>
/dependency>
junit 依赖
dependency>
groupId>junit/groupId>
artifactId>junit/artifactId>
version>4.12/version>
!-- 不设置scope就是全局-->
scope>test/scope>服务器托管网
//4.List的创建
private var testList : ListInt>? = null
/dependency>
List的类型
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net