hashmap练习案例

package com.guigu.hashMapTest;

import org.junit.Test;
import org.omg.CORBA.PUBLIC_MEMBER;

import java.util.*;

public class HashMapTest01 {
    //.班上80位同学,现在准备秋游,班长提供了四个景点(A,B, C, D),每个学生只能选择去一个景点,请统计去哪个景点的人数最多,并且去了多少人?
    @Test
    public void Test(){
        String[] strings = {"A", "B", "C", "D"};
        ArrayList<String> name = new ArrayList<>();
        Random random = new Random();
        for (int i = 0; i < 80; i++) {
            int i1 = random.nextInt(strings.length);
            name.add(strings[i1]);
        }
        System.out.println(name);
        //用hashmap统计选举票数
        HashMap<String, Integer> map = new HashMap<>();
        int max=0;
        for (String s : name) {
            if (map.containsKey(s)) {
                //获取景点票数
                Integer count = map.get(s);
                count++;
                map.put(s,count);
            }else {
                map.put(s,1);
            }
        }
        System.out.println(map);
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
           if (entry.getValue()>max){
               max=entry.getValue();
           }
        }
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            if (entry.getValue()==max){
                System.out.println(entry.getValue());
            }
        }
    }
    @Test
    public void Test01(){
        Set<String> set = new HashSet<>();
        set.add("李二");
        set.add("李三");
        set.add("李四");
        set.add("李五");
        set.add("李六");
        set.add("李七");
        for (String s : set) {
            System.out.println(s);
        }
        System.out.println("=====================================");
        //迭代遍历
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }
    @Test
    public void Test02(){
        //创建集合
        HashSet<StudentEnttiy> stu = new HashSet<>();
        stu.add(new StudentEnttiy("李三",18));
        stu.add(new StudentEnttiy("李二",12));
        stu.add(new StudentEnttiy("李三",14));
        stu.add(new StudentEnttiy("李四",15));
        stu.add(new StudentEnttiy("李五",18));
        for (StudentEnttiy studentEnttiy : stu) {
            System.out.println(studentEnttiy);
        }
        System.out.println("==========================================");
        Iterator<StudentEnttiy> iterator = stu.iterator();
        while (iterator.hasNext()){
            StudentEnttiy next = iterator.next();
            System.out.println(next.getName()+"   "+next.getAge());
        }
    }
    @Test
    public void Test03(){
        HashMap<Integer, String> map = new HashMap<>();
        map.put(1,"li");
        map.put(2,"lds");
        map.put(3,"sd");
        map.put(4,"df");
        map.put(5,"lef");
        map.put(6,"se");
        System.out.println(map.get(5));
        map.remove(5);
        System.out.println(map);


    }
    @Test
    public void Test04(){
        HashMap<String, String> map = new HashMap<>();
        Set<String> set = map.keySet();
        map.put("天龙八部","倚天屠龙");
        map.put("上官疯子","宏茂莎霞");
        map.put("辉煌龙儿","纱帽滞胀");
        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            String next = iterator.next();
            System.out.println(map.get(next));
        }
        for (String s : set) {
            System.out.println(map.get(s));
        }
    }
    /*
    * *需求:
     *假设HashMap集合的元素是ArrayList。有3个。
     *每一个ArrayList集合的值是字符串。
     *元素我已经完成,请遍历。
     *结果:
     *		 三国演义
     *		 	吕布
     *		 	周瑜
     *		 笑傲江湖
     *		 	令狐冲
     *		 	林平之
     *		 神雕侠侣
     *		 	郭靖
     *		 	杨过  */
    @Test
    public void Test05(){
        HashMap<String, ArrayList<String>> hashMap = new HashMap<>();
        ArrayList<String> list = new ArrayList<>();
        list.add("吕布");
        list.add("周瑜");
        hashMap.put("三国演义",list);
        ArrayList<String> list2 = new ArrayList<>();
        list2.add("令狐冲");
        list2.add("林智屏");
        hashMap.put("笑傲江湖",list2);
        ArrayList<String> list3 = new ArrayList<>();
        list3.add("郭靖");
        list3.add("杨过");
        hashMap.put("神雕侠侣",list3);
        for (Map.Entry<String, ArrayList<String>> listEntry : hashMap.entrySet()) {
            System.out.println(listEntry);
        }
        System.out.println("=====================================================");
        Set<String> set = hashMap.keySet();
        for (String s : set) {
            for (String s1 : hashMap.get(s)) {
                System.out.println(s1);
            }
        }
    }
/*/*
 ArrayList集合嵌套HashMap集合并遍历。
 需求:
 假设ArrayList集合的元素是HashMap。有3个。
 每一个HashMap集合的键和值都是字符串。
 元素我已经完成,请遍历。
 结果:
 周瑜---小乔
 吕布---貂蝉

 郭靖---黄蓉
 杨过---小龙女

 令狐冲---任盈盈
 林平之---岳灵珊
 */
    @Test
    public void Test06(){
        ArrayList<HashMap<String,String>> list = new ArrayList<>();
        HashMap<String,String> map = new HashMap<>();
        map.put("力宏","大胖");
        map.put("帅帅","帅哥");
        list.add(map);
        HashMap<String,String> map1 = new HashMap<>();
        map1.put("黎明","二胖");
        map1.put("黎黑","三胖");
        list.add(map1);
        HashMap<String,String> map2 = new HashMap<>();
        map2.put("红","二胖");
        map2.put("白","三胖");
        list.add(map2);
        for (HashMap<String, String> hashMap : list) {
            for (Map.Entry<String, String> entry : hashMap.entrySet()) {
                System.out.println(entry);
            }
        }
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值