TreeMap练习

TreeMap练习

1."aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)

package com.shujia.day14;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

public class TreeMapTest1 {
    public static void main(String[] args) {
        //创建一个TreeMap集合对象
        TreeMap<Character, Integer> map1 = new TreeMap<>();
        String s1="aababcabcdabcde";
        //获取字符串中的每个字符
        for(int i=0;i<s1.length();i++){
            char c=s1.charAt(i);
            //判断该字符是否以键的形式存在集合中
            if (!map1.containsKey(c)){
                map1.put(c,1);
            }else {
                map1.put(c,map1.get(c)+1);//若集合中有该字符了,进行加一操作再赋值回去
            }
        }
        //遍历集合
        StringBuilder sb1 = new StringBuilder();
        Set<Map.Entry<Character, Integer>> entries = map1.entrySet();
        for (Map.Entry<Character, Integer> entry : entries) {
            Character key = entry.getKey();
            Integer value = entry.getValue();
            sb1.append(key).append("(").append(value).append(")");
        }
        //StringBuilder--->String
        System.out.println(sb1);
    }
}

2. HashMap嵌套ArrayList 每一个人都有一些爱好

HashMap<Person,ArrayList<String>>
package com.shujia.day14;
import java.util.Map;
import java.util.Set;
import java.util.ArrayList;
import java.util.HashMap;

class Person{
    String name;

    public Person() {
    }

    public Person(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                '}';
    }
}
public class TreeMapTest2 {
    public static void main(String[] args) {
        HashMap<Person, ArrayList<String>> map1 = new HashMap<>();

        ArrayList<String> list1 = new ArrayList<>();
        list1.add("命运2");
        list1.add("Apex");
        map1.put(new Person("张三"),list1);

        ArrayList<String> list2 = new ArrayList<>();
        list2.add("缺氧");
        list2.add("完蛋,我被美女包围了");
        map1.put(new Person("李四"),list2);

        ArrayList<String> list3 = new ArrayList<>();
        list3.add("HonKai Impact 3rd");
        list3.add("GenShin Impact");
        map1.put(new Person("王五"),list3);


        //第一种遍历方式:
        Set<Person> people = map1.keySet();
        for (Person person : people) {
            ArrayList<String> l1 = map1.get(person);
            System.out.println(person.name+"喜欢的游戏是:"+l1);
        }

        //第二种遍历方式:
        Set<Map.Entry<Person, ArrayList<String>>> entries = map1.entrySet();
        for (Map.Entry<Person, ArrayList<String>> entry : entries) {
            Person key = entry.getKey();
            ArrayList<String> value = entry.getValue();
            System.out.println(key.name+"喜欢的游戏是:"+value);
        }
    }
}

posted @ 2024-03-08 22:00  peculiar-  阅读(4)  评论(0编辑  收藏  举报