[javaSE] 集合框架Map概述

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

三个主要的子类:HashtableHashMapTreeMap

 

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

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

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

 

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

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

 

import java.util.HashMap;
 java.util.Map;
 java.util.Set;
 java.util.TreeMap;


public class MapDemo {

    /**
     * @param args
     */
    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,1)">();
        treeMap.put(new StudentTreeMap("taoshihan1",40),"陶士涵");
        treeMap.put(new StudentTreeMap("taoshihan2",30),"陶士涵2"new StudentTreeMap("taoshihan3",50),"陶士涵3");
        Set<StudentTreeMap> treeMapSet=treeMap.keySet();
        (StudentTreeMap key:treeMapSet){
            System.out.println(key.name+"====="+key.age);
        }
    }

}
class StudentTreeMap implements Comparable<StudentTreeMap>{
    
    int age;
    public String name;
    public StudentTreeMap(String name, age) {
        this.name=name;
        this.age=age;
    }
    @Override
     compareTo(StudentTreeMap o) {
        if(o.age<this.age){
            return 1;
        }else{
            return -1;
        }
    }
    
}

 

 

相关文章

@ 注解能被用来为程序元素( 类、 方法、 成员变量等) 设置...
@ 1、线性表的概念 线性表是最常见也是最简单的一种数据结构...
简介 ArrayList是开发中使用比较多的集合,它不是线程安全的...
在 Java String类源码阅读笔记 里学习了String类的源码,Str...
话不多说,先上图。 1、基本概念 欲说线程,必先说进程。 进...
@ 网络基础 计算机网络是指两台或更多的计算机组成的网络,在...