黑马程序员技术交流社区
标题:
求解答
[打印本页]
作者:
明天你好,微笑
时间:
2015-8-19 20:02
标题:
求解答
、TreeMap怎么实现唯一。
作者:
明天你好,微笑
时间:
2015-8-19 20:03
求解答,求大神支招
作者:
shdosh
时间:
2015-8-19 21:20
你可以自己定义比较器,或者复写自有的比较方法。
/*
需求:对学生对象的年龄进行升序排序。
因为数据是以键值对形式存在的。
所以要使用可以排序的Map集合。TreeMap。
*/
import java.util.*;
class StuNameComparator implements Comparator<Student>
{
public int compare(Student s1,Student s2)
{
System.out.println("compare....."+s1.getName());
int num = s1.getName().compareTo(s2.getName());
if(num==0)
return new Integer(s1.getAge()).compareTo(new Integer(s2.getAge()));
return num;
}
}
class MapTest2
{
public static void main(String[] args)
{
TreeMap<Student,String> tm = new TreeMap<Student,String>(new StuNameComparator());
tm.put(new Student("lisi1",21),"beijing");
tm.put(new Student("alisi2",22),"shanghai");
tm.put(new Student("blisi3",23),"nanjing");
//tm.put(new Student("lisi1",21),"tinjin");
tm.put(new Student("lisi4",24),"wuhan");
Set<Map.Entry<Student,String>> entrySet = tm.entrySet();
Iterator<Map.Entry<Student,String>> it = entrySet.iterator();
while(it.hasNext())
{
Map.Entry<Student,String> me = it.next();
Student stu = me.getKey();
String addr = me.getValue();
System.out.println(stu+":::"+addr);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2