黑马程序员之

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

1. Map也是一个集合,只是是以键值对存储的,常见的子类有Hashtable,HashMap,TreeMap。

 1.Map集合的添加、判断、删除。

112625902.jpg


2.获取单个元素

 1.获取键对应的值

112923468.jpg

 2.获取键的集合

113102338.jpg

 3.获取值的集合

113225444.jpg

 4.通过映射关系获取

113344466.jpg

3. 练习

 计算字符串中字符的个数,并且输出格式:a(1)b(3)c(4)….

思路:

 1.把字符串转化成字符数组后,然后开始遍历数组

 2.在遍历的时候,没读取一个字符,然后在集合中查看,如果存在则读取出来,然后数量加1,然后在存入里面如果没有,则添加里面,数量是1.

3.输出格式,读取集合然后拼接字符串,利用StringBuffer。

113616423.jpg

4.模拟学校,然后读取学校中班级―学生信息

利用的是集合中嵌套集合


package it.cast.MapTest;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Set;


class collegeStudent{

private String num;

private String name;

public collegeStudent(String num,String name){

super();

this.num=num;

this.name=name;

}

public String getNum(){

return num;

}

public String getName(){

return name;

}

}

public class MapDome7 {


public static void main(String[] args) {

/*学校*/

HashMap<String ,List<collegeStudent>> bdxy=new HashMap<String,List<collegeStudent>>();

List<collegeStudent> ruanjian=new ArrayList<collegeStudent>();//软件班级

List<collegeStudent> jiying=new ArrayList<collegeStudent>();//计应班

/*把班级添加到学校中*/

bdxy.put("ruanjian", ruanjian);

bdxy.put("jiying", jiying);

/*向班级中添加学生*/

ruanjian.add(new collegeStudent("110","张三"));

ruanjian.add(new collegeStudent("111","李四"));

ruanjian.add(new collegeStudent("112","王五"));

jiying.add(new collegeStudent("210","xiaoqiang"));

jiying.add(new collegeStudent("211","wangcai"));

jiying.add(new collegeStudent("222","xiaowu"));

/*遍历学校中的班级,读取出班级中的学生信息*/

Set<String> set=bdxy.keySet();//读取学校中的班级集合;

Iterator<String> it=set.iterator();

while (it.hasNext()){

String classname=it.next();

List<collegeStudent> classinfo=bdxy.get(classname);

System.out.println(classname);

show(classinfo);

}

}

/*输出班级的学生*/

public static void show(List<collegeStudent> list) {

Iterator<collegeStudent> it=list.iterator();

while (it.hasNext()){

collegeStudent stu=it.next();

System.out.println(" |-"+stu.getNum()+":"+stu.getName());

}

}


}


运行结果:

jiying

|-210:xiaoqiang

|-211:wangcai

|-222:xiaowu

ruanjian

|-110:张三

|-111:李四

|-112:王五


---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

你可能感兴趣的:(HashMap,set,map,黑马程序员)