Java基础21-map

1.Map

1.1 Map集合的概述和特点

在这里插入图片描述

1.2 Map集合的基本功能

在这里插入图片描述

import java.util.HashMap;
import java.util.Map;

public class MapDemo {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("001","test1");
        map.put("002","test2");
        map.put("003","test3");
        System.out.println(map);
        System.out.println(map.size());
        map.remove("001");
        System.out.println(map);
        System.out.println(map.containsKey("002"));
        System.out.println(map.containsValue("test3"));
    }
}
输出结果:
{001=test1, 002=test2, 003=test3}
3
{002=test2, 003=test3}
true
true

1.3 Map集合的获取功能

在这里插入图片描述

import java.util.*;

public class MapDemo {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("001","test1");
        map.put("002","test2");
        map.put("003","test3");
        System.out.println(map.get("002"));
        Set<String> set = map.keySet();
        System.out.println(set);
        Collection<String> collection=map.values();
        System.out.println(collection);
    
    }
}
输出结果
test2
[001, 002, 003]
[test1, test2, test3]

2.4 Map集合的遍历

import java.util.*;

public class MapDemo {
    public static void main(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("001","test1");
        map.put("002","test2");
        map.put("003","test3");
        // 第一种遍历
        Set<String> set = map.keySet();
       for(String s :set ){
           System.out.println(s+","+map.get(s));
       }
        // 第二种遍历
       Set<Map.Entry<String,String>> set1= map.entrySet();
        for(Map.Entry<String,String> me:set1){
            String key = me.getKey();
            String value = me.getValue();
            System.out.println(key+","+value);
        }

    }
}

在这里插入图片描述

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Set;

public class ArrayListIncludeHashMap {
    public static void main(String[] args) {
        ArrayList<HashMap<String,String>> list = new ArrayList<>();
        HashMap<String,String> hashMap1= new HashMap();
        hashMap1.put("001","test01");
        hashMap1.put("002","test02");
        list.add(hashMap1);
        HashMap<String,String> hashMap2= new HashMap();
        hashMap2.put("003","test03");
        hashMap2.put("004","test04");
        list.add(hashMap2);
        //遍历
        for(HashMap<String,String> hashMap : list){
            Set<String> set = hashMap.keySet();
            for(String s :set ){
                System.out.println(s+","+hashMap.get(s));
            }
        }
    }
}
输出结果:
001,test01
002,test02
003,test03
004,test04

在这里插入图片描述

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

public class HashMapIncludeArrayList {
    public static void main(String[] args) {
        HashMap<String,ArrayList<String>> listHashMap = new HashMap<>();
        ArrayList<String> list1= new ArrayList<>();
        list1.add("西施");
        list1.add("貂蝉");
        listHashMap.put("古代美女",list1);
        ArrayList<String> list2= new ArrayList<>();
        list2.add("萧蔷");
        list2.add("刘青霞");
        listHashMap.put("现代美女",list2);
        Set<Map.Entry<String,ArrayList<String>>> set = listHashMap.entrySet();
        for(Map.Entry<String,ArrayList<String>> listEntry : set){
            String key = listEntry.getKey();
            System.out.println(key);
            ArrayList<String> value = listEntry.getValue();
            for(String str : value){
                System.out.println( "\t" +str);
            }

        }
    }
}
输出结果:
现代美女
	萧蔷
	刘青霞
古代美女
	西施
	貂蝉

在这里插入图片描述

import java.util.*;

public class MapDemo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        Map<Character,Integer> map = new HashMap<>();
        for(int i=0;i<str.length();i++){
            char r = str.charAt(i);
            if(!map.containsKey(r)){
               map.put(r,1);
            }else{
                int num = map.get(r)+1;
                map.put(r,num);
            }
        }
        StringBuffer stb = new StringBuffer();
        Set<Map.Entry<Character,Integer>> entrySet = map.entrySet();
        for(Map.Entry<Character,Integer> me :entrySet){
            stb.append(me.getKey()).append("(").append(me.getValue()).append(")");
        }
        System.out.println(stb.toString());
    }
}

2.Collections

在这里插入图片描述
在这里插入图片描述

import java.util.*;

public class CollectionDemo {
    public static void main(String[] args) {
        ArrayList<Student> list = new ArrayList<>();
        Student s1 = new Student("alisa",30);
        Student s2 = new Student("tom",20);
        Student s3 = new Student("leon",35);
        list.add(s1);
        list.add(s2);
        list.add(s3);
        Collections.sort(list, new Comparator<Student>() {
            @Override
            public int compare(Student o1, Student o2) {
                int num = o1.age- o2.age;
                int num2 = num==0?o1.getName().compareTo(o2.getName()):num;
                return num2;
            }
        });
        for(Student s : list){
            System.out.println(s.getName()+","+s.getAge());
        }
    }
}
输出结果:
tom,20
alisa,30
leon,35
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值