Guava 学习笔记(一)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40646143/article/details/83779364

下载guava-18.0.jar,下载地址为http://www.open-open.com/news/view/157e6df

MultiSet无序 可重复,count增强了可读性,操作简单,   使用范围:例如统计会员访问本网站的次数

/**
 * 使用Multiset 无序  可重复
 *  需求 统计单词出现的次数
 */
public class Demo01 {
    public static void main (String[] args) {
        String str="hello jamy goog moning hello word";
        String [] sp=str.split(" ");

        Multiset<String> multiset= HashMultiset.create();
        for (String tmp:sp) {
            multiset.add(tmp);
        }
        //循环输出 
        Set<String> strings = multiset.elementSet();
        for (String string:strings) {
            //count 获取重复的次数
            System.out.println(string+"-->"+multiset.count(string));
        }
    }
}

Multimap key是可以重复的  如果key重复 一直向val写入

/**需求 :分析查看教师的没门课程
 *
 * MultiMap  key可以重复
 *
 */
public class Demo02 {
    public static void main (String[] args) {
        Map<String,String> map=new HashMap<>();
        map.put("数学","张老师");
        map.put("英语","张老师");
        map.put("历史","王老师");
        map.put("语文","哈老师");

        Multimap<String,String> multimap= ArrayListMultimap.create();
        Set<String> strings = map.keySet();
        for (String string:strings) {
            //把 key val 调换位置 multimap的key 是可以重复的
            multimap.put(map.get(string),string);
        }
        
        //循环查看
        Set<String> stringSet = multimap.keySet();
        for (String str: stringSet) {
            Collection<String> strings1 = multimap.get(str);
            System.out.println(str+"--->"+strings1);
        }

    }

BiMap key 和 val 都不能重复

/**
 * Hashmap key不能重复 val可以重复
 * BigMaP key val 都不能重复  双向的map:就是通过val找到key 通过key找到val
 */
public class Demo03 {
    public static void main (String[] args) {
        BiMap<String,String> biMap= HashBiMap.create();
        biMap.put("user","[email protected]");
        biMap.put("admin","[email protected]");

        //通过邮箱找用户
        String s = biMap.inverse().get("[email protected]");
        System.out.println(s);
        //通过用户找邮箱
        String admin = biMap.inverse().inverse().get("admin");
        System.out.println(admin);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40646143/article/details/83779364