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);
}
}
}