package org.westos.Map集合博客练习;
import java.util.HashMap;
import java.util.Set;
/**
* Map集合:
* HashMap集合是Map的一个子实现类,它本身基于哈希表;
* HashMap集合存储的是一对键值对,它可以保证键的唯一性;
* HashMap不能保证输入与输出的顺序;
* */
public class Text1 {
public static void main(String[] args) {
HashMap<String,Integer> map = new HashMap<String,Integer>();
map.put("hello", 1);
map.put("world",2);
map.put("java", 3);
//创建一个set集合用来存储hashmap集合的键,以便用来遍历
Set<String> s = map.keySet();
for(String str:s) {
//因为键的唯一性可以通过键获取值
Integer i = map.get(str);
System.out.println(str+"----"+i);
}
}
}
package org.westos.Map集合博客练习;
import java.util.HashMap;
import java.util.Set;
/**
* HsahMap集合中键为自定义对象时.
*
* 如果成员变量的值一样,视为相同,这就需要在自定义类中重写hashcode()与equals()方法
* */
public class Text2 {
public static void main(String[] args) {
HashMap<Student,Integer> map = new HashMap<Student,Integer>();
Student s1 = new Student("张三",11);
Student s2 = new Student("李四",12);
Student s3 = new Student("赵五",13);
Student s4 = new Student("王六",14);
Student s5 = new Student("张三",11);
map.put(s1, 1);
map.put(s2, 2);
map.put(s3, 3);
map.put(s4, 4);
map.put(s5, 5);//张三键对应的值将被修改为5
Set<Student> s = map.keySet();
for(Student ss:s) {
int i = map.get(ss);
System.out.println(ss+"----"+i);
}
}
}