HashMap总是通过键值对的方式存储,并且它是无序存储的,Key=value,然而遍历HashMap,这是我使用了四种方式。
1.当然我们的第一种肯定是直接输出HashMap啦!
首先创建一个学生对象Student
public class Student {
private String name;
private Integer age;
private String sex;
public Student(String name, Integer age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public Student() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", sex='" + sex + '\'' +
'}';
}
}
--->将学生的信息存储到HashMap当中
HashMap<String,Student> map = new HashMap<String, Student>();
map.put("wanger",new Student("王二",23,"男"));
map.put("zhangsan",new Student("张三",23,"男"));
map.put("mazi",new Student("麻子",23,"男"));
map.put("lisi",new Student("李四",23,"男"));
--->使用第一种遍历HashMap的方式
System.out.println(map);
通过键值对的方式Key=Value输出HashMap的所有信息:
2.第二中遍历HashMap的方式,通过Key键取得所有的键和值
//根据键取值 先要把所有的键存放在一个集合当中
Set<String> set = map.keySet();
for(String key: set ){
System.out.println(key+" "+map.get(key));
}
3.第三种就是那就是直接获取值集
//直接获得值集
Collection<Student> value = map.values();
for (Student val :value){
System.out.println(val);
}
4.第四种同时的到键值的集合
//得到键值的集合
Set<Map.Entry<String ,Student >> set2 = map.entrySet();
for (Map.Entry<String ,Student> entry :set2){
System.out.println(entry.getKey()+" "+entry.getValue());
}
补充:1.在HashMap当中,如果有相同的Key,那么它对应的值也就会随之改变;
2.HashMap无序存储数据的;
3.通过键值对的方式存储数据;
励志语句:现在不努力以后只能和那些不努力的人一起。