HashMap分拣存储字母
/**
* 统计每个单词出现的个数
* 存储到map中
*
*/
public class Map01 {
public static void main(String[] args){
String str="my name is zhangrui i am is a student and my school is xian";
Map<String,Letter> letters=new HashMap<String,Letter>();//map容器
String[] strArra=str.split(" ");
for(String temp:strArra){
Letter con=null;
if(null==(letters.get(temp))){
con=new Letter();
con.setCount(1);
}else{
con.setCount(con.getCount()+1);
}
}
Set<String> keys=letters.keySet();//遍历key
for(String key:keys){
Letter col=letters.get(key);
System.out.println(key+":"+col.getCount());
}
}
}
class Letter{//单词类
String name;
int count;
public Letter(){}
public Letter(String name,int count) {
this.name = name;
this.count=count;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
对象思想的map练习
/**
*
* 将学生添加到list中组成一个班级ClassRoom,然后将这个班级存储在Map中
* 存储到map中
*
*/
public class Map01 {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
exam(list);//将学生装进list
Map<Integer,ClassRoom> rooms=new HashMap<Integer, ClassRoom>();
count(rooms,list);//将班级classroom存储在map里
print(rooms);//打印
}
public static void print(Map<Integer,ClassRoom> rooms){
Set<Integer> keys=rooms.keySet();
for(Integer key:keys){
System.out.println("班级"+key+":");
for(Student s:rooms.get(key).getStus()){
System.out.println("\t"+s.getName()+"\t"+s.getClassNumber()+"\t"+s.getScore());
}
}
}
public static void exam(List<Student> list){
list.add(new Student("zhang",1,80));
list.add(new Student("z",2,80));
list.add(new Student("zh",3,80));
list.add(new Student("zha",4,80));
list.add(new Student("zhan",2,80));
}
public static void count(Map<Integer,ClassRoom> rooms,List<Student> list){
for(int i=0;i<list.size();i++){
int number=list.get(i).getClassNumber();//获得学生的班级号
if(! rooms.containsKey(number)){//如果map中还没有这个班级
rooms.put(number,new ClassRoom());
rooms.get(number).getStus().add(list.get(i));//将学生添加进相应的数组
}else{//如果班级已存在
ClassRoom classnu= rooms.get(number);
classnu.getStus().add(list.get(i));
}
}
}
}
class Student{
private String name;
private int classNumber;
private double score;
public Student(String name,int classNumber,double score) {
this.name = name;
this.classNumber=classNumber;
this.score=score;
}
public String getName() {
return name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public int getClassNumber() {
return classNumber;
}
public void setClassNumber(int classNumber) {
this.classNumber = classNumber;
}
public void setName(String name) {
this.name = name;
}
}
class ClassRoom{
private int classNumber;
private List<Student> stus;
private double tatol;
public ClassRoom(){
stus=new ArrayList<Student>();
}
public ClassRoom(int classNumber){
this();
this.classNumber=classNumber;
}
public double getTatol() {
return tatol;
}
public void setTatol(double tatol) {
this.tatol = tatol;
}
public List<Student> getStus() {
return stus;
}
public void setStus(List<Student> stus) {
this.stus = stus;
}
public int getClassNumber() {
return classNumber;
}
public void setClassNumber(int classNumber) {
this.classNumber = classNumber;
}
}