0
点赞
收藏
分享

微信扫一扫

kotlin hashmap list

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

package com.example.demoanalytic

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.text.TextUtils
import android.util.Log

class 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 = 18
        mStudentBean.name = "郭靖"

        mStudentBean2.age = 22
        mStudentBean2.name = "杨过"

        mStudentBean3.age = 32
        mStudentBean3.name = "黄蓉"

        map2["mindor-001"] = mStudentBean
        map2["mindor-002"] =mStudentBean2
        map2["608"] =mStudentBean3

        Log.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;
    }
}
举报

相关推荐

0 条评论