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);
      }
      
     }

    }

    
    


  • 相关阅读:
    关于在elasticSearch中使用聚合查询后只显示10个bucket的问题
    关于gradle与maven对springboot项目的配置文件加载异同
    正则表达式限制输入框只能输入数字
    关于在layui中的table checkbox 默认选中设置
    获取的ajax方法return的返回值的问题解析
    centos 6.5 安装mysql 5.6.35–libc.so.6(GLIBC_2.14)(64bit),libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
    Linux下ps -ef和ps aux的区别及格式详解
    SSH 远程上传本地文件至服务器
    VMWare Fusion 8 序列号
    Mac OS X下安装和配置Maven
  • 原文地址:https://www.cnblogs.com/lixingle/p/3313051.html
Copyright © 2011-2022 走看看