zoukankan      html  css  js  c++  java
  • [javaSE] 集合框架(Map概述)

    Map集合,将key对象映射到value对象

    三个主要的子类:HashtableHashMapTreeMap

    Hashtable:底层是哈希表数据结构,不允许使用null值,线程同步

    HashMap:底层是哈希表数据结构,允许使用null值,线程不同步

    TreeMap:底层是二叉树数据结构,线程不同步,可以用于给Map集合中的键排序

    使用keySet()方法遍历Map集合

    调用Map对象的keySet()方法,得到Set对象,这里存储的是所有的键

    import java.util.HashMap;
    import java.util.Map;
    import java.util.Set;
    import java.util.TreeMap;
    
    
    public class MapDemo {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            Map<String,String> map=new HashMap<String,String>();
            map.put("name", "taoshihan");
            map.put("age", "100");
            map.put("gender", "female");
            
            
            Set<String> keySet=map.keySet();
            for(String key:keySet){
                System.out.println(map.get(key));
            }
            
            //TreeMap可排序
            Map<StudentTreeMap,String> treeMap=new TreeMap<StudentTreeMap,String>();
            treeMap.put(new StudentTreeMap("taoshihan1", 40), "陶士涵");
            treeMap.put(new StudentTreeMap("taoshihan2", 30), "陶士涵2");
            treeMap.put(new StudentTreeMap("taoshihan3", 50), "陶士涵3");
            Set<StudentTreeMap> treeMapSet=treeMap.keySet();
            for(StudentTreeMap key:treeMapSet){
                System.out.println(key.name+"====="+key.age);
            }
        }
    
    }
    class StudentTreeMap implements Comparable<StudentTreeMap>{
        
        public int age;
        public String name;
        public StudentTreeMap(String name,int age) {
            this.name=name;
            this.age=age;
        }
        @Override
        public int compareTo(StudentTreeMap o) {
            if(o.age<this.age){
                return 1;
            }else{
                return -1;
            }
        }
        
    }

  • 相关阅读:
    MonoDev 冷门而好用的功能
    Android Runtime
    bat调用bat的一个巨坑
    AssetBundles
    赢家不会告诉你的事
    防止过度工程
    如果你不肯向这个世界投降
    《我的互联网方法论》
    Notepad++ HTML格式化
    Python 包的相对导入讲解
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5572506.html
Copyright © 2011-2022 走看看