kotlin和java和hashmap转换
碰到一个需求,扫描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转换相关推荐
- Kotlin和Java混合开发总结(基于Kotlin1.3.0版本)
我本来是不想学习kotlin的,但是现在的形势,很多公司都在使用kotlin开发,可以说学会kotlin也是无奈之举,既然是潮流,谷歌也在大力推广,所以还是只能硬着头皮逼迫自己学一下,也能更快适应公司 ...
- 《From Java To Kotlin》-Kotlin与Java的简单对比
前言: 原文来自https://github.com/MindorksOpenSource/from-java-to-kotlin 本文也只是简单比较kotlin与java的不同之处,实际学习kotl ...
- Kotlin极简教程:第10章 Kotlin与Java互操作
Kotlin is 100% interoperable with Java™ and Android™ 在前面的章节中,我们已经学习了Kotlin的基础语法.类型系统.泛型与集合类.面向对象与函数式 ...
- Kotlin 与 Java 比较
阅读本文前,建议先了解kotlin, 当了解了kotlin 再来看它与java 之间的区别,印象会更加深刻. 打印日志 可以看出,kotlin 打印更简洁 JavaSystem.out.print( ...
- Kotlin与Java语法对比总结
文章目录 前言 一.变量 二.函数 三.程序的逻辑控制 1.条件语句 2.循环语句 四.面向对象编程 1.类与对象 2.继承 3.构造函数 4.接口 5.数据类与单例类 五.Lambda编程 1.集合 ...
- 解决Apache CXF 不支持传递java.sql.Timestamp和java.util.HashMap类型问题
在项目中使用Apache开源的Services Framework CXF来发布WebService,CXF能够很简洁与Spring Framework 集成在一起,在发布WebService的过程中 ...
- kotlin与java对比
为什么80%的码农都做不了架构师?>>> kotlin作为一个现代的适用于多平台的静态类型语言越来越受到java开发同学的喜爱,尤其是android开发同学的喜爱,下面从几个方 ...
- Java基础 HashMap实现原理及方法
1.什么是HashMap? HashMap通常提起他,我们想到的就是键值对方式存储(key-value型式),可以接收null键值和null值.基于Map接口的非同步实现(也就是线程不安全),并不保证 ...
- Kotlin 与 Java有什么区别(最全最新的)
目录 什么是Kotlin? 什么是Java? 主要区别: Kotlin 的特点 Java的特点 Kotlin 的历史 JAVA的历史 Kotlin 和 Java 的区别 Kotlin 的优势 Java ...
最新文章
- add函数 pytorch_Pytorch学习记录-Pytorch可视化使用tensorboardX
- 深度学习核心技术精讲100篇(二十八)-由浅入深概览机器学习优化算法
- 二值图片连续区域检测
- 四面体的表面积_为了解释南北两极海陆的分布,科学家提出了一个“四面体”的观点...
- go方法的深入探究(7.21增补)
- python包含多个元组的元组_Python数据结构(元组,列表,字典)
- 再看那个用代码把人类送上月球的女人——Margaret Hamilton
- 易优Eyoucms企业建站系统 1.4.2
- blender使用_用Blender教青少年3D动画
- pytorch损失函数(正在更新中,勿点进来看)
- linux下opengl开发环境,Ubuntu 16.04 OpenGL 开发环境配置指南
- 胡学纲数据结构c语言PDF,数据结构精品课程参考书目
- 设置finder窗口大小的5个小技巧!速看?
- Flink kafka source sink 源码解析
- 苏轼《汲江煎茶》| 茶学经典
- 代码整洁之道——如何写出整洁高效的代码
- 2020.7.24 T3终章-剑之魂(jz暑假训练day9)
- ai为什么要栅格化_AI 效果-栅格化的具体用途是什么
- 2020上海全国计算机一级考试时间,2020全国等级计算机考试时间(全国计算机一级报名时间)...
- 如何高效进行大规模分类?