美文网首页
三、Java中级--6、Map

三、Java中级--6、Map

作者: cybeyond | 来源:发表于2018-05-07 14:50 被阅读0次
集合和map

键值key不可以重复,但是值value可以重复。

  • Map
    • HashTable:底层存储结构是哈希表,键和值都不可以是null,已过时
    • HashMap:底层是哈希表,键值都可以是null,不排序
    • TreeMap:底层是二叉树,支持键排序

1、HashMap读取方式

  • (1)获得所有键的集合keyset


    结构
package javastudy;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class MyTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        HashMap<String, String> cities=new HashMap<String,String>();
        cities.put("010", "北京");
        cities.put("021", "上海");
        cities.put("022", "重庆");
        cities.put("023", "天津");
        Set<String> zips=cities.keySet();
        Iterator<String> it=zips.iterator();  //遍历键
        while(it.hasNext()){
            String zip=it.next();
            String cityName=cities.get(zip);
            System.out.println(zip + ":"+cityName); //得到键的集合
        }
    }
}
执行结果
  • (2)获得所有值的集合valueset
package javastudy;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class MyTest {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        HashMap<String, String> cities=new HashMap<String,String>();
        cities.put("010", "北京");
        cities.put("021", "上海");
        cities.put("022", "重庆");
        cities.put("023", "天津");
        Collection<String>cityNames=cities.values();//cityNames存放所有城市的名称
        Iterator<String> it=cityNames.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}
执行结果
  • (3)获得所有条目entryset(包括键和值)
package javastudy;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map.Entry;
import java.util.Set;

public class MyTest {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        HashMap<String, String> cities=new HashMap<String,String>();
        cities.put("010", "北京");
        cities.put("021", "上海");
        cities.put("022", "重庆");
        cities.put("023", "天津");
        Set<Entry<String, String>> entries=cities.entrySet();
        Iterator<Entry<String, String>> it=entries.iterator();
        while(it.hasNext()){
            Entry<String, String> entry=it.next(); //不能使用it.next指向两次
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }
}
执行结果

相关文章

  • 三、Java中级--6、Map

    键值key不可以重复,但是值value可以重复。 MapHashTable:底层存储结构是哈希表,键和值都不可以是...

  • Java8 map****和****reduce

    Java8 map****和****reduce map 结果:[2, 4, 6, 8] 也可以搞成其他的类型,初...

  • java day 14

    Map java Map及Map.Entry详解Map是java中的接口,Map.Entry是Map的一个内部接口...

  • Java中级(三)

    HttpServletRequest:一次来自客户端的请求的相关信息请求行request.getMethod() ...

  • JAVA Map集合(6)

    Map集合:该集合存储键值对,一对一对往里存,而且要保证健的唯一性。 1.添加 put ( K key , V v...

  • Java中的Map总结

    1.Map用法 类型介绍 Java 自带了各种 Map 类。这些 Map 类可归为三种类型: 1. 通用Map,用...

  • Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍...

  • Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍...

  • Hive基本使用

    Hive有三种复杂数据类型ARRAY、MAP 和 STRUCT。ARRAY和MAP与Java中的Array和Map...

  • java基础系列07--集合(3)

    JAVA集合三 Map集合 java.util 下的接口Map,将键映射到值的对象。一个映射不能包含重...

网友评论

      本文标题:三、Java中级--6、Map

      本文链接:https://www.haomeiwen.com/subject/nvwcrftx.html