目录
目录
练习一:ArrayList<HashMap<String, String>>
练习二:HashMap<String, HashMap<String, Integer>>,>
练习三:HashMap<String, ArrayList<String>>,>
练习五:HashMap<String, HashMap<String, ArrayList<Student>>>
练习一:ArrayList<HashMap<String, String>>
ArrayList<HashMap<String,String>> arrayList=new ArrayList<HashMap<String,String>>();
HashMap<String,String> hashMap=new HashMap<String, String>();
hashMap.put("jay","河岸");
hashMap.put("jasom","河被");
hashMap.put("tom","河写");
hashMap.put("cat","河打");
arrayList.add(hashMap);
//遍历
for (HashMap<String,String> al : arrayList){
Set<String> k1=al.keySet();
for (String ss : k1){
String sss=al.get(ss);
System.out.println(ss+sss);
}
}
练习二:HashMap<String, HashMap<String, Integer>>
//创建neu集合
HashMap<String,HashMap<String,Integer>> neu=new HashMap<String,HashMap<String,Integer>>();
//创建jc集合
HashMap<String,Integer> jcMap=new HashMap<String,Integer>();
jcMap.put("jay",20);
jcMap.put("tom",22);
//创建jy集合
HashMap<String,Integer> jyMap=new HashMap<String,Integer>();
jyMap.put("john",21);
jyMap.put("jason",23);
neu.put("jc",jcMap);
neu.put("jy",jyMap);
//遍历
Set<String> k1=neu.keySet();
for (String ss : k1){
HashMap<String,Integer> stu=neu.get(ss);
Set<String> k2=stu.keySet();
for (String sss : k2){
Integer age=stu.get(sss);
System.out.println(ss+sss+age);
}
}
练习三:HashMap<String, ArrayList<String>>
HashMap<String, ArrayList<String>> hm=new HashMap<String, ArrayList<String>>();
ArrayList<String> arrayList=new ArrayList<String>();
arrayList.add("a");
arrayList.add("b");
arrayList.add("c");
hm.put("1",arrayList);
ArrayList<String> arrayList1=new ArrayList<String>();
arrayList1.add("d");
arrayList1.add("e");
arrayList1.add("f");
hm.put("2",arrayList1);
Set<String> k1=hm.keySet();
for(String k : k1 ){
System.out.println(k);
ArrayList<String> arrayList2=hm.get(k);
for (String ss : arrayList2){
System.out.println(ss);
}
}
练习四:获取字符串中每一个字母出现的次数
/*
* 需求 :"aababcabcdabcde",获取字符串中每一个字母出现的次数要求结果:a(5)b(4)c(3)d(2)e(1)
*
* 分析:
* A:定义一个字符串(可以改进为键盘录入)
* B:定义一个TreeMap集合
* 键:Character
* 值:Integer
* C:把字符串转换为字符数组
* D:遍历字符数组,得到每一个字符
* E:拿刚才得到的字符作为键到集合中去找值,看返回值
* 是null:说明该键不存在,就把该字符作为键,1作为值存储
* 不是null:说明该键存在,就把值加1,然后重写存储该键和值
* F:定义字符串缓冲区变量
* G:遍历集合,得到键和值,进行按照要求拼接
* H:把字符串缓冲区转换为字符串输出
*/
//键盘录入
Scanner sc=new Scanner(System.in);
String ss=sc.nextLine();
//定义集合
TreeMap<Character,Integer> tm=new TreeMap<Character, Integer>();
//字符串缓冲对象
char[] chs=ss.toCharArray();
for (char ch : chs){
Integer i=tm.get(ch);
if (i==null){
tm.put(ch,1);
}
else {
i++;
tm.put(ch,i);
}
}
StringBuilder sb=new StringBuilder();
//遍历
Set<Character> set=tm.keySet();
for(char ch : set){
Integer value=tm.get(ch);
sb.append(ch).append("*").append(value).append("*****");
}
System.out.println(sb);
String result = sb.toString();
System.out.println("result:"+result);
练习五:HashMap<String, HashMap<String, ArrayList<Student>>>
// 创建大集合
HashMap<String, HashMap<String, ArrayList<Student>>> czbkMap = new HashMap<String, HashMap<String, ArrayList<Student>>>();
// 北京校区数据
HashMap<String, ArrayList<Student>> bjCzbkMap = new HashMap<String, ArrayList<Student>>();
ArrayList<Student> array1 = new ArrayList<Student>();
Student s1 = new Student("林青霞", 27);
Student s2 = new Student("风清扬", 30);
array1.add(s1);
array1.add(s2);
ArrayList<Student> array2 = new ArrayList<Student>();
Student s3 = new Student("赵雅芝", 28);
Student s4 = new Student("武鑫", 29);
array2.add(s3);
array2.add(s4);
bjCzbkMap.put("基础班", array1);
bjCzbkMap.put("就业班", array2);
czbkMap.put("北京校区", bjCzbkMap);
// 西安校区数据
HashMap<String, ArrayList<Student>> xaCzbkMap = new HashMap<String, ArrayList<Student>>();
ArrayList<Student> array3 = new ArrayList<Student>();
Student s5 = new Student("范冰冰", 27);
Student s6 = new Student("刘意", 30);
array3.add(s5);
array3.add(s6);
ArrayList<Student> array4 = new ArrayList<Student>();
Student s7 = new Student("李冰冰", 28);
Student s8 = new Student("张志豪", 29);
array4.add(s7);
array4.add(s8);
xaCzbkMap.put("基础班", array3);
xaCzbkMap.put("就业班", array4);
czbkMap.put("西安校区", xaCzbkMap);
// 遍历集合
Set<String> czbkMapSet = czbkMap.keySet();
for (String czbkMapKey : czbkMapSet) {
System.out.println(czbkMapKey);
HashMap<String, ArrayList<Student>> czbkMapValue = czbkMap
.get(czbkMapKey);
Set<String> czbkMapValueSet = czbkMapValue.keySet();
for (String czbkMapValueKey : czbkMapValueSet) {
System.out.println("\t" + czbkMapValueKey);
ArrayList<Student> czbkMapValueValue = czbkMapValue
.get(czbkMapValueKey);
for (Student s : czbkMapValueValue) {
System.out.println("\t\t" + s.getName() + "---"
+ s.getAge());
}
}
}