碰到一个需求,扫描wifi,然后把扫到的wifi显示在list中,但是扫出来的wifi总是重复,为了实现去重效果,把list遍历,存储成map,然后利用map自身的特性,达到去重的目的,然后拿到不重复的map wifi列表,然后再次遍历map,把符合条件的wifi信息,存储到新的list中,然后展示这个list,可以实现wifi列表实时扫描显示
step1:

package com.example.demoanalyticimport android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.text.TextUtils
import android.util.Logclass MapTestActivity : AppCompatActivity() {//     private HashMap<String, StudentBean> map2 = new HashMap<>();private var map2: HashMap<String, StudentBean> = HashMap<String, StudentBean>()private var wifiList = mutableListOf<StudentBean>()private val wifi = "mindor-"override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)/*map2.put("1", mStudentBean);map2.put("2", mStudentBean2);* */val mStudentBean = StudentBean()val mStudentBean2 = StudentBean()val mStudentBean3 = StudentBean()mStudentBean.age = 18mStudentBean.name = "郭靖"mStudentBean2.age = 22mStudentBean2.name = "杨过"mStudentBean3.age = 32mStudentBean3.name = "黄蓉"map2["mindor-001"] = mStudentBeanmap2["mindor-002"] =mStudentBean2map2["608"] =mStudentBean3Log.e("TAG", "$map2")/*if (!list.isEmpty()) {list.clear();}* */if (wifiList.isNotEmpty()){wifiList.clear()}val iter: Iterator<String> = map2.keys.iterator()while (iter.hasNext()) {val key = iter.next()Log.e("TAG", "key:$key")/*    if (TextUtils.equals(key, "1")) {map2?.let {it[key]?.let { it1 -> wifiList.add(it1) }}}boolean isData = connectedWifiInfo.getSSID().contains(WIFI_NAME);*/if (key.contains(wifi)){map2?.let {it[key]?.let { it1 -> wifiList.add(it1) }}}}Log.e("TAG", "key:$wifiList")}}

step2:

package com.example.demoanalytic;public class StudentBean {private String name;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

step3:测试 java代码

package com.example.demoanalytic;import android.net.wifi.ScanResult;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.text.TextUtils;
import android.util.Log;import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;public class MapThreeActivity extends AppCompatActivity {private CacheMap<String, StudentBean> cacheMap = new CacheMap<>();private CacheMap<String, String> map = new CacheMap<>();private HashMap<String, StudentBean> map2 = new HashMap<>();private List<StudentBean> list;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);list = new ArrayList<>();StudentBean mStudentBean = new StudentBean();mStudentBean.setName("张飞");mStudentBean.setAge(18);StudentBean mStudentBean2 = new StudentBean();mStudentBean2.setName("关羽");mStudentBean2.setAge(21);map2.put("1", mStudentBean);map2.put("2", mStudentBean2);if (!list.isEmpty()) {list.clear();}Iterator<String> iter = map2.keySet().iterator();while (iter.hasNext()) {String key = iter.next();Log.e("TAG", "key:" + key);if (TextUtils.equals(key, "1")) {list.add(map2.get(key));}}Log.e("TAG", "list:" + list);}
}

kotlin和java和hashmap转换相关推荐

  1. Kotlin和Java混合开发总结(基于Kotlin1.3.0版本)

    我本来是不想学习kotlin的,但是现在的形势,很多公司都在使用kotlin开发,可以说学会kotlin也是无奈之举,既然是潮流,谷歌也在大力推广,所以还是只能硬着头皮逼迫自己学一下,也能更快适应公司 ...

  2. 《From Java To Kotlin》-Kotlin与Java的简单对比

    前言: 原文来自https://github.com/MindorksOpenSource/from-java-to-kotlin 本文也只是简单比较kotlin与java的不同之处,实际学习kotl ...

  3. Kotlin极简教程:第10章 Kotlin与Java互操作

    Kotlin is 100% interoperable with Java™ and Android™ 在前面的章节中,我们已经学习了Kotlin的基础语法.类型系统.泛型与集合类.面向对象与函数式 ...

  4. Kotlin 与 Java 比较

    阅读本文前,建议先了解kotlin,  当了解了kotlin 再来看它与java 之间的区别,印象会更加深刻. 打印日志 可以看出,kotlin 打印更简洁 JavaSystem.out.print( ...

  5. Kotlin与Java语法对比总结

    文章目录 前言 一.变量 二.函数 三.程序的逻辑控制 1.条件语句 2.循环语句 四.面向对象编程 1.类与对象 2.继承 3.构造函数 4.接口 5.数据类与单例类 五.Lambda编程 1.集合 ...

  6. 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题

    在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...

  7. kotlin与java对比

    为什么80%的码农都做不了架构师?>>>    kotlin作为一个现代的适用于多平台的静态类型语言越来越受到java开发同学的喜爱,尤其是android开发同学的喜爱,下面从几个方 ...

  8. Java基础 HashMap实现原理及方法

    1.什么是HashMap? HashMap通常提起他,我们想到的就是键值对方式存储(key-value型式),可以接收null键值和null值.基于Map接口的非同步实现(也就是线程不安全),并不保证 ...

  9. Kotlin 与 Java有什么区别(最全最新的)

    目录 什么是Kotlin? 什么是Java? 主要区别: Kotlin 的特点 Java的特点 Kotlin 的历史 JAVA的历史 Kotlin 和 Java 的区别 Kotlin 的优势 Java ...

最新文章

  1. add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
  2. 深度学习核心技术精讲100篇(二十八)-由浅入深概览机器学习优化算法
  3. 二值图片连续区域检测
  4. 四面体的表面积_为了解释南北两极海陆的分布,科学家提出了一个“四面体”的观点...
  5. go方法的深入探究(7.21增补)
  6. python包含多个元组的元组_Python数据结构(元组,列表,字典)
  7. 再看那个用代码把人类送上月球的女人——Margaret Hamilton
  8. 易优Eyoucms企业建站系统 1.4.2
  9. blender使用_用Blender教青少年3D动画
  10. pytorch损失函数(正在更新中,勿点进来看)
  11. linux下opengl开发环境,Ubuntu 16.04 OpenGL 开发环境配置指南
  12. 胡学纲数据结构c语言PDF,数据结构精品课程参考书目
  13. 设置finder窗口大小的5个小技巧!速看?
  14. Flink kafka source sink 源码解析
  15. 苏轼《汲江煎茶》| 茶学经典
  16. 代码整洁之道——如何写出整洁高效的代码
  17. 2020.7.24 T3终章-剑之魂(jz暑假训练day9)
  18. ai为什么要栅格化_AI 效果-栅格化的具体用途是什么
  19. 2020上海全国计算机一级考试时间,2020全国等级计算机考试时间(全国计算机一级报名时间)...
  20. 如何高效进行大规模分类?

热门文章

  1. 把漫画浏览器的漫画多数据源切换给实现了一下
  2. (cons '(壹 . 命令行程序界面) 《为自己写本-Guile-书》)
  3. sdio卡识别与sd的异同
  4. Java Set集合去重机制
  5. 【CSS3】CSS3 学习笔记(1w字+)
  6. 为现代服务业注入高新技术“密码”
  7. 堆溢出-House of orange 学习笔记(看雪论坛)
  8. 远程打码平台是如何进行验证码的识别的?
  9. (循环练习)海军礼炮问题
  10. 中毒的硬盘如何恢复文件呢