Map - 图1

使用 Map

一个 关于 Map 的示例

  1. import java.util.HashMap;
  2. import java.util.Map;
  3. public class MapTest {
  4. public static void main(String[] args) {
  5. Map<String,Integer> scope = new HashMap<>();
  6. scope.put("john",100);
  7. scope.put("maria",59);
  8. for (String name : scope.keySet()){
  9. System.out.println(scope.get(name));
  10. }
  11. }
  12. }

编写 equals 和 hashcode

覆写 equals

  1. @Override
  2. public boolean equals(Object obj) {
  3. if (obj instanceof Peoples){
  4. Peoples p = (Peoples) obj;
  5. return this.firstName.equals(p.firstName) && this.lastName.equals(p.lastName) && this.age == p.age;
  6. }
  7. return false;
  8. }

覆写 hashcode

  1. @Override
  2. int hashCode() {
  3. int h = 0;
  4. h = 31 * h + firstName.hashCode();
  5. h = 31 * h + lastName.hashCode();
  6. h = 31 * h + age;
  7. return h;
  8. }

EnumMap

  1. import java.time.DayOfWeek;
  2. import java.util.EnumMap;
  3. import java.util.Map;
  4. public class EnumMapTest {
  5. public static void main(String[] args) {
  6. Map<DayOfWeek, String> dayOfWeek = new EnumMap<>(DayOfWeek.class);
  7. dayOfWeek.put(DayOfWeek.MONDAY,"星期一");
  8. dayOfWeek.put(DayOfWeek.TUESDAY,"星期二");
  9. dayOfWeek.put(DayOfWeek.WEDNESDAY,"星期三");
  10. dayOfWeek.put(DayOfWeek.THURSDAY,"星期四");
  11. dayOfWeek.put(DayOfWeek.FRIDAY,"星期五");
  12. }
  13. }

TreeMap

  1. import java.util.Comparator;
  2. import java.util.Map;
  3. import java.util.TreeMap;
  4. public class TreeMapTest {
  5. public static void main(String[] args) {
  6. Map<Students,Integer> s = new TreeMap<>(new Comparator<Students>() {
  7. @Override
  8. public int compare(Students s1, Students s2) {
  9. return s1.name.compareTo(s2.name);
  10. }
  11. });
  12. s.put(new Students("john"),100);
  13. s.put(new Students("jacob"),99);
  14. s.put(new Students("wewe"),34);
  15. s.put(new Students("dfe"),12);
  16. s.put(new Students("vf"),56);
  17. for(Students students : s.keySet()){
  18. System.out.println(students.name + " : "+s.get(students));
  19. }
  20. }
  21. }
  22. class Students{
  23. public String name;
  24. public Students(String name){
  25. this.name = name;
  26. }
  27. }