zoukankan      html  css  js  c++  java
  • 再练


    import java.util.*;//。
    import java.util.Map.Entry;
     
    class Student implements Comparable <Student>
    /*定义一个Student类覆写hashCode和equals
    方法使其具有比较性继承Comparable接口实现compaeTo方法使其具有一定的排序性*/
    {  
     //定义三个私有成员
     private String name;                                          
     private int num;                                  
     private String addrees;
     Student (String name,int num,String addrees)//构造函数
     {
      this.name=name;
      this.num=num;
      this.addrees=addrees;
     }
     
     public int compareTo(Student s)//实现Comparable接口中的compareTo方法
     {
      int a= this.name.compareTo(s.name);
      if (a==0)
      return new Integer(this.num).compareTo(new Integer(s.num));
      return a;
     }
     public   String getName()
     {
      return name;
     }
     public  int getNum()
     {
      
      return num;
     }
     public  String getAddrees()
     {
      
      return addrees;
     }
     public int hashCode()//覆写hashCode方法
     {
      return name.hashCode()+num*34;
     }
     public boolean equals(Object obj)//覆写equals方法
     {
      if (!(obj instanceof Student))
      {
       throw new ClassCastException("失败");
      }
      Student s=(Student)obj;
      return this.name.equals(s.name)&&this.num==s.num&&this.addrees.equals(s.addrees);
     }
     public String toString()
     {
      return "学号: "+num+" 姓名: "+name+" 地址: "+addrees;
     }
     
    }
    public class MapTest {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      HashMap<Student,Integer> map=new HashMap<Student,Integer>();
      map.put(new Student("Tom",001,"Baijing"), 53);
      map.put(new Student("Jam",002,"Baijing"), 87);
      map.put(new Student("Joy",003,"Baijing"), 96);
      map.put(new Student("Pak",004,"Baijing"), 49);
      
      //第一种取出方式 keySet方法
      Set<Student> keyset=map.keySet();
      Iterator it =keyset.iterator();
      while (it.hasNext())
      {
       Student st=(Student) it.next();
       Integer score=map.get(st);
       System.out.println(st+":::"+score);
       
      }
            //第二种取出方式 entrySet方法
      Set<Map.Entry<Student,Integer>> entryset=map.entrySet();
      Iterator<Map.Entry<Student,Integer>> its =entryset.iterator();
      while (its.hasNext())
      {
       Map.Entry<Student,Integer> mm=its.next();
       Student stu= mm.getKey();
       
       Integer sco=mm.getValue();
       System.out.println(stu+" 成绩: "+sco);
      }
      
     }

    }

    
    


  • 相关阅读:
    pixi.js 简单交互事件(点击、缩放、平移)
    w3school
    并发(Concurrent)与并行(Parallel)的区别
    CTime获得当前电脑时间
    NX二次开发-UFUN获得体的表面积,体积,重心等UF_MODL_ask_mass_props_3d
    Jvm故障问题排查以及Jvm调优总结
    jmap命令详解----查看JVM内存使用详情
    jstack命令解析
    年轻带Young GC算法示意图
    【JVM】jstat命令详解---JVM的统计监测工具
  • 原文地址:https://www.cnblogs.com/lixingle/p/3313051.html
Copyright © 2011-2022 走看看