黑马程序员_自定义学生类需要的几个必备的方法
2012-06-07 10:31
274 查看
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima"
target="blank">java培训</a>、期待与您交流! ----------------------
注册三天可算能发文章了 哦也! 补上补上 这是第一篇...
首先有toString() 然后是get() set() 其次是hashCode() equals()和实现Comparable的compartTo()
import java.util.*;
class Student implements Comparable<Student>
{
private int age;
private String name;
private String city;
Student(int age,String name,String city)
{
this.age=age;
this.name=name;
this.city=city;
}
public int hashCode()
{
return name.hashCode()+city.hashCode()+age*17;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Student))
return false;
Student s=(Student)obj;
return this.name.equals(s.name)&&this.age==s.age&&this.city.equals(s.city);
}
public int compareTo(Student stu)
{
int num=age-stu.age;
if(num==0)
{
int namenum=this.name.compareTo(stu.name);
if(namenum==0)
return city.compareTo(stu.city);
return namenum;}
return num;
}
public int getAge()
{
return age;
}
public String getName()
{
return name;
}
public String getCity()
{
return city;
}
public String toString()
{
return age+name+city;
}
}
有了这些 就可以在Treeset 集合中排序了.....
class practice14
{
public static void main(String[] args)
{
TreeSet<Student> ts=new TreeSet<Student>();
ts.add(new Student(17,"ok","aj"));
ts.add(new Student(17,"ok","bj"));
for(Student s:ts)
{
System.out.println(s);
}
}
}
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima"
target="blank">java培训</a>、期待与您交流! ----------------------
target="blank">java培训</a>、期待与您交流! ----------------------
注册三天可算能发文章了 哦也! 补上补上 这是第一篇...
首先有toString() 然后是get() set() 其次是hashCode() equals()和实现Comparable的compartTo()
import java.util.*;
class Student implements Comparable<Student>
{
private int age;
private String name;
private String city;
Student(int age,String name,String city)
{
this.age=age;
this.name=name;
this.city=city;
}
public int hashCode()
{
return name.hashCode()+city.hashCode()+age*17;
}
public boolean equals(Object obj)
{
if(!(obj instanceof Student))
return false;
Student s=(Student)obj;
return this.name.equals(s.name)&&this.age==s.age&&this.city.equals(s.city);
}
public int compareTo(Student stu)
{
int num=age-stu.age;
if(num==0)
{
int namenum=this.name.compareTo(stu.name);
if(namenum==0)
return city.compareTo(stu.city);
return namenum;}
return num;
}
public int getAge()
{
return age;
}
public String getName()
{
return name;
}
public String getCity()
{
return city;
}
public String toString()
{
return age+name+city;
}
}
有了这些 就可以在Treeset 集合中排序了.....
class practice14
{
public static void main(String[] args)
{
TreeSet<Student> ts=new TreeSet<Student>();
ts.add(new Student(17,"ok","aj"));
ts.add(new Student(17,"ok","bj"));
for(Student s:ts)
{
System.out.println(s);
}
}
}
---------------------- <a href="http://edu.csdn.net/heima" target="blank">android培训</a>、<a href="http://edu.csdn.net/heima"
target="blank">java培训</a>、期待与您交流! ----------------------
相关文章推荐
- 黑马程序员 TreeSet集合里的对象需要自定义compareTo方法
- 黑马程序员——自定义泛型方法和类
- excel操作技巧都在这,连大神都需要必备的技巧,你不会的有几个
- android UiAutomator分享几个简单实用的自定义方法
- ASP.NET MVC 自定义路由中几个需要注意的小细节
- 涉及网络编程时,需要用到的几个常用方法
- android_view自定义中的几个方法
- 几个经常需要自定义的组件:UIScrollview、UItextView、UIButton
- 几个经常需要自定义的组件:UIScrollview、UItextView、UIButton
- ASP.NET方法如何重载需要必备哪些条件
- 自定义View中为什么需要重写onMeasure()方法?
- 黑马程序员之ASP.NET学习笔记: 几个常用方法有效优化ASP.NET的性能
- 黑马程序员-OC的构造方法init以及自定义构造方法
- 涉及网络编程时,需要用到的几个常用方法
- 自定义View相关可以重写的方法及作用 需要注意的事项
- Java编程之TreeSet排序两种解决方法(1)元素自身具备比较功能,元素需要实现Comparable接口覆盖compare(2)创建根据自定义Person类的name进行排序的Comparator
- Win10根据需要自定义资源管理器的方法
- 黑马程序员------常用API-常见对象需要练习的方法列表
- chrome插件编写中需要了解的几个概念和一些方法
- ASP.NET方法如何重载需要必备哪些条件