hyqd.net
当前位置:首页 >> jAvA trEEsEt排序 >>

jAvA trEEsEt排序

例: 对加入 treeset的student对象 实现comparable接口,通过在student中重写compareto()方法确定该对象在treeset中的排序方式 student类如下 class student implements comparableprivate int age;//重写compareto()方法public int compareto(object o){student s = (student) o;if (this.age

三个名字@__@另外,TreeSet构造的时候可以传入一个Comparator对象作为参数,这个对象负责比较TreeSet的元素.所以无论你要排序什么,你只要定义一个Comparator即可,排序规则你自己了解就行

import java.util.Comparator;import java.util.TreeSet;public class MyDemo { public static void main(String [] a){ TreeSet set=new TreeSet( new Comparator(){ int r=0; public int compare(Object a, Object b) { int n1=Integer.parseInt(a.toString()); int n2=

* TreeSet:* 1.向TreeSet中添加的元素必须是同一个类的.* 2.可以按照添加进集合中的元素的指定的顺序遍历.像String、包装类等默认按照从小到大的顺序遍历.* 3.自然排序:当向TreeSet中添加自定义类的对象时,有两种排序方法:①自然

其实你已经做对了一半,先自定义一个comparator,然后把比较的规则写进compare方法里,把这个比较器作为构造器参数传递给TreeSet,这样就可以了.TreeSet好像也没有两个参数的构造方法吧,呵呵..

首先把TreeSet的泛型改了,这样的集合没法排序.改了泛型,然后写个比较器,用Collections.sort排序.比如: TreeSet guests = .. Collections.sort(guests, new Comparator(){ @Override public int compare(Guest guest1, Guest guest2){ return guest1.age - guest2.age; } });

TreeSet默认按照自然顺序排列,汉子是按照拼音字母a---z排列的,当然自己也可以制定自己的排序规则

自然排序就是按字母书序排序比如 a->b->c..0->1->2->3.如果是字符串那么会按一个个的字母排序如果相等就比较下一个位置的字符, 知道比出大小位置比如 abc->acd->ace->ade.

做减法不明白吗,比如1-2应该理解吧

按编号的排序,compareTo比较一下就可以了: import java.util.Iterator;import java.util.TreeSet; public class PriorityTest extends TreeSet<PriorityTest.Test>{ static class Test implements Comparable<Test>{ String name; int num; public Test(

网站首页 | 网站地图
All rights reserved Powered by www.hyqd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com