美文网首页java学习笔记
Map集合——java学习之<13>

Map集合——java学习之<13>

作者: pm_kai | 来源:发表于2018-02-24 21:24 被阅读0次

1.HashMap

线程不安全,允许存放null值,保证键唯一。

2.TreeMap

保证键唯一的基础上进行升序排序。

package gather;
import java.util.HashMap;
import java.util.TreeMap;
public class HAndT {
    public static void main(String[] args) {
        HashMap<Integer, String> hm = new HashMap<Integer,String>();
        hm.put(6, "you");
        hm.put(1, "are");
        hm.put(6, "i");
        hm.put(2, "best!");
        hm.put(3, "best!");
        System.out.println(hm);
        
        TreeMap<Integer, String> hm2 = new TreeMap<Integer,String>();
        hm2.put(6, "you");
        hm2.put(1, "are");
        hm2.put(6, "i");
        hm2.put(2, "best!");
        System.out.println(hm2);
    }
}

3.Map集合的两种遍历

  • 将值存入Collection集合,只能遍历值,无法遍历键
  • 将键存入Set集合,遍历出键后,可以通过get方法获取对应的值
package gather;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*
 * 在当前行前插入一行快捷键为:ctrl+shift+enter
 * 在当前行后插入一行快捷键为:shift+enter
 */
public class MapErgodic {
    public static void main(String[] args) {
        /*
         * 将值存入Collection集合,只能遍历值,无法遍历键
         */
        Map<Integer, String> m1 = new HashMap<Integer,String>();
        m1.put(2, "a");
        m1.put(1, "b");
        m1.put(2, "c");
        m1.put(24, "d");
        m1.put(10, "e");
        Collection<String> col=m1.values();//将Map集合的值存入Collection中
        Iterator<String> iter=col.iterator();//放入迭代器
        while (iter.hasNext()) {//判断是否有下一个值
            String value = iter.next();
            System.out.println(value+" ");
        }
        /*
         * 将键存入Set集合,遍历出键后,可以通过get方法获取对应的值
         */
        Set<Integer> se=m1.keySet();//将键存入Set集合中
        Iterator<Integer> iter2 = se.iterator();
        while (iter2.hasNext()) {
            Integer key = iter2.next();//获取set集合中存取的键
            String value = m1.get(key);//通过get获取对应的值
            System.out.println(key+","+value);
        }
    }
}

4.Map集合的应用

****** 统计每个字符出现的次数 ******

package gather;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;
public class Count {
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner s = new Scanner(System.in);
        System.out.print("请输入一个字符串:");//a c c c s s
        String str = s.next();
        char[] ch = str.toCharArray();//把字符串拆分成字符数组
        Map<Character, Integer> m = new HashMap<Character,Integer>();
        for (int i = 0; i < ch.length; i++) {
            int a=1;
            if (m.containsKey(ch[i])) {//判断字符串是否在集合中,contains:包含
                a=m.get(ch[i])+1;//获取集合的次数然后加1
            }
            m.put(ch[i], a);//a,1 c,1 c,2 c,3
        }
        
        Set<Character> set = m.keySet();//将键存入set集合中
        Iterator<Character> iter = set.iterator();
        while (iter.hasNext()) {
            Character key = iter.next();
            int value = m.get(key);
            System.out.println("字符"+key+"出现了"+value+"次");
        }
    }
}

相关文章

  • Map集合——java学习之<13>

    1.HashMap 线程不安全,允许存放null值,保证键唯一。 2.TreeMap 保证键唯一的基础上进行升序排...

  • Java学习之Map集合

    Map 是一个接口,没有继承Collection接口,是一种把键对象和值对象映射的集合,它的每一个元素都包含一对键...

  • Java基础之Map集合

    ## Java基础之Map集合 Map集合是一种双列集合,存储形式为键值对的形式(Map集合中的键是唯一性的) 如...

  • Java集合之Map

    Java集合之Map Map关系图如下 虚线为接口 实线为类 Map特点 键值对格式 key唯一 Map实现类之H...

  • js中的map用法

    java和javascript的map集合对比(仅供自己学习记录)

  • 史上最详尽 Java 8 集合类 HashMap : 底层实现和

    史上最详尽 Java 8 集合类 HashMap : 底层实现和原理学习笔记(源码解析) Java中Map接口集合...

  • day14 Map集合

    Map集合 Map集合是双列集合, 是一种一一对应关系,就是映射,Java提供 java,util.Map接口供我...

  • 集合详解

    Iterator:迭代器,它是Java集合的顶层接口(不包括 map 系列的集合,Map接口 是 map 系列集合...

  • 详解Java中Map集合类 HashMap、Hashtable、

    学习Java中Map集合类时,强烈建议和Java中set一起 一、Map的基本介绍及其实现类 Java.util....

  • Java的集合类概述

    Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框...

网友评论

    本文标题:Map集合——java学习之<13>

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