Java如何使用TreeSet和HashMap

TreeSet

特点:无序 , 无下标 , 不重复
功能:排序
TreeSet排序步骤
1.实现Comparable接口
2.实现接口中方法
3.编写排序规则
4.将规则传入到TreeSet的构造方法中
注意: compareTo方法返回值为0时,不存

Map(双列集合的父接口)

1.以键值对形式来存储数据
key–value
2.键值唯一(不能重复)

  • HashMap : 去重的功能(该功能属于 key 列)
  • TreeMap : 排序的功能(该功能属于 key 列)
Map方法
  • containsKey判断是否包含key
  • containsValue是否包含Value
  • keySet取出所有key的Set集合
  • values取出所有Value集合
  • remove删除方法,通过key将整个键值对删除
  • clear清空
  • put添加
遍历Map集合

通过迭代器遍历

        HashMap<Person, String> map = new HashMap<>();
        map.put(new Person("东东", 18), "山东");
        map.put(new Person("西西", 19), "山西");
        map.put(new Person("南南", 20), "河南");
        map.put(new Person("北北", 21), "河北");
        //  取出所有key的集合
        Set<Person> keySet = map.keySet();
        //  取出集合中的迭代器
        Iterator<Person> iterator = keySet.iterator();
        //  遍历所有key
        while (iterator.hasNext()) {
            //  取出集合中的key值
            Person key = iterator.next();
            //  利用key取出对应的value
            String string = map.get(key);
            System.out.println("key = " + key + "   " + "string =" + string);
        }

用Entry对象来遍历Map

        HashMap<String, Integer> map = new HashMap<>();
        map.put("东东", 18);
        map.put("南南", 19);
        map.put("西西", 20);
        map.put("北北", 21);
        //  获取所有Entry对象的Set集合
        Set<Entry<String, Integer>> entrySet = map.entrySet();
        //  取出迭代器
        Iterator<Entry<String, Integer>> iterator = entrySet.iterator();
        //  遍历所有Entry对象
        while (iterator.hasNext()) {
            //  取出集合中 每一个entry对象
            Entry<String, Integer> next = (Entry<String, Integer>)iterator.next();
            //  从entry中取出 key-value
            System.out.println(next.getKey() + next.getValue());
        }       

猜你喜欢

转载自blog.csdn.net/guxin0729/article/details/82502491
今日推荐