ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Android中HashMap的使用

2022-01-29 20:32:53  阅读:129  来源: 互联网

标签:HashMap val value put key 使用 println Android


Android中HashMap的使用:


HashMap的简单实例:

01.创建Map:

class MainActivity : AppCompatActivity() {
    @RequiresApi(Build.VERSION_CODES.N)
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val name = mapOf<String, String>("name" to "alfied", "sex" to "man", "age" to "27")
        //key-value取值
        println(name.getValue("name"))
        //获取默认的值
        println(name.getOrDefault("weight", "70kg"))
        //除掉目标值
        println(name.minus("age"))
        //加上目标值
        println(name.plus("height" to "180cm"))
    }
}

02.MutableMap的数据增删改查

        //创建MutableMap
        val m1 = mutableMapOf("name" to "alfred")
        val m2 = mutableMapOf("sex" to "man", "age" to "27")
        //数据增加
        m1.put("身高", "128cm")
        println(m1)
        //数据赋值,增加数据
        m1["体重"] = "70kg"
        println(m1)
        //数据移除
        m1.remove("体重")
        println(m1)
        //数据增加
        m1.putAll(m2)
        println(m1)
        //数据移除
        m1.remove("体重", "70kg")
        println(m1)

创建HashMap、LinkedMap、SortedMap

        //创建HashMapOf()、LinkedMapOf()、SortedMapOf()
        val hash = hashMapOf("name" to "alfred")
        val linkedMap = linkedMapOf("age" to "27")
        val treeMap = sortedMapOf("sex" to "man")
        println(hash)
        println(linkedMap)
        println(treeMap)

HashMap的拓展实例:

01.HashMap以Key来进行排序

        //TreeMap的排序策略
        val map1 = sortedMapOf<String, Int>()
        map1.put("Java", 30)
        map1.put("Android", 40)
        map1.put("C++", 15)
        //TreeMap默认以key的升序进行排序
        println(map1)
        var comparator = kotlin.Comparator{key1: String, key2: String -> key2.compareTo(key1)}
        val map2 = sortedMapOf<String, Int>(comparator)
        map2.put("Java", 30)
        map2.put("Android", 40)
        map2.put("C++", 15)
        println(map2)

02.HashMap以value来进行排序

        //TreeMap以Value来进行排序
        var map3 = TreeMap<String, Int>()
        map3.put("Java", 30)
        map3.put("Android", 60)
        map3.put("C++", 15)
        map3.put("Kotlin", 100)
        map3["C"] = 0
        //升序
        val mapSort = map3.entries.sortedBy { it.value}
            .associateBy({it.key}, {it.value})
        println(mapSort)
        //倒序
        val mapDescSort = map3.entries.sortedByDescending { it.value }
            .associateBy({it.key}, {it.value})
        println(mapDescSort)
        //升序
        val toMap = map3.toList().sortedBy { it.second }.toMap()
        println(toMap)

03.HashMap的遍历

        //HashMap的遍历
        val map4 = hashMapOf("name" to "Jack", "age" to "12", "sex" to "man")
        val iter = map4.entries.iterator()
        while(iter.hasNext()){
            val entry = iter.next()
            println(entry)
        }
        for(key in map4.keys) {
            println("key = $key + value = ${map4.get(key)}")
        }

        //HashMap遍历
        map4.forEach {
            println("key==${it.key}, value==${it.value}")
        }

        //HashMap遍历
        for ((key, value) in map4) {
            println("key==$key, value==$value")
        }

标签:HashMap,val,value,put,key,使用,println,Android
来源: https://blog.csdn.net/huye930610/article/details/122746379

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有