『壹』 java中如何实现自定义排序
排序依赖于比较;
可以让想要排序的类实现Comparable接口的compareTo函数,在其中定义排序的比较逻辑
『贰』 java自定义按照花色(黑红梅方)排序 怎么写 在线等 好的加分
呵呵 一般是给每张牌设定一个值
1-52
黑桃 1-13
红桃 14-26
梅花 27-39
方块 40-52
这样你就可以排序了嘛。
『叁』 Java 如何对自定义类Vector进行排序
你好,用comparable接口我帮你写了个例子:
package vectorsort;
public class Point implements Comparable<Point>{
private float x;
private float y;
public Point(float x, float y) {
super();
this.x = x;
this.y = y;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
@Override
public int compareTo(Point comparePoint) {
int xcomp = (int)((Point)comparePoint).getX();
// 比较x坐标
return (int)(this.getX()-xcomp);
}
public static void main(String[] args) {
Point p1 = new Point(1.0f,2.0f);
Point p2 = new Point(1.5f,2.6f);
System.out.println("x坐标比较结果:"+p1.compareTo(p2));
}
}
O(∩_∩)O~温馨提示O(∩_∩)O~
真心希望你能采纳我的回答,如有不明白,可以继续追问,若满意,记得及时采纳。
『肆』 Java怎么对Excel进行自定义排序
示例代码:
import com.spire.xls.*;
public class SortData {
public static void main(String[] args) {
//创建Workbook对象
Workbook workbook = new Workbook();
//加载测试文档
workbook.loadFromFile("G:\360MoveData\Users\Administrator\Desktop\学生成绩表.xlsx");
//获取第一个工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//指定要排序的列号(列号从0开始)以及排序方式(升序或降序)
workbook.getDataSorter().getSortColumns().add(7, SortComparsionType.Values, OrderBy.Descending);
//指定要排序的数据区域
workbook.getDataSorter().sort(sheet.getCellRange("A1:H9"));
//保存文档
workbook.saveToFile("SortData.xlsx", ExcelVersion.Version2013);
}
}
代码参考自Free Spire.XLS for Java 的官网教程文章。
『伍』 Java:自定义一个顺序,然后对List按照该顺序排序。。
用Collections.sort(List list, Comparator c)这个方法来吧源
像你这样的这样写:
Collections.sort(list,newComparator<String>()
{
publicintcompare(Stringo1,Stringo2)
{
//这里写比较方法
intresult=o1.compareTo(o2);
returnresult;//然后return一个int型的值
}
});
『陆』 java 如何对自定义的对象进行排序
//把排序规则交给sort方法。该方法就回按照你自定义的规则进行排序 .util.Arrays.sort(users,new MyComparator()); for (int i = 0; i<users.length; i++){ System.out.println (users[i]);}}}class User{ String name;int age ; public User(String name,int age){ this.name = name; this.age = age;} public String toString(){ return name+":::"+age;}}class MyComparator implements Comparator{ public int compare(Object obj1, Object obj2 ){ User u1 = (User)obj1; User u2 = (User)obj2; if(u1.ageu2.age){return 1;}else if(u1.age<u2.age){return -1;}else{//利用String自身的排序方法。 //如果年龄相同就按名字进行排序
『柒』 java arraylist 自定义排序(刚学java没搞懂自定义排序,举个例子问一下)在线等挺急的 例子在下面
importjava.util.*;
publicclassExample{
publicstaticvoidmain(Stringarg[]){
ArrayList<String>st=newArrayList<String>(Arrays.asList(("癸,乙,辛,丙,甲,壬,戊,己,丁,庚").split(",")));
for(Stringi:st)
System.out.format("%s",i);
System.out.format(" ");
Collections.sort(st,newComparator<String>(){
StringTemplate="甲乙丙丁戊己庚辛壬癸";
publicintcompare(Strings1,Strings2){
return(Template.indexOf(s1)>Template.indexOf(s2))?1:-1;
}
});
for(Stringi:st)
System.out.format("%s",i);
}
}
自定义排序,这里用的是重写comparator
『捌』 JAVA:hashmap根据自定义类型的属性排序
是自己做这个算法么,抄还是要用到java的数据结构,因为hashmap是无序的,Treemap是有序的,但是他们排序不是看value是看key的,是必须这样做么,因为我想如果你用hashMap你是用key来访问里面value的,排不排序意义不大,我建议用TreeSet排序,如果你需要用name就直接遍历set的时候取name就完了,如果不想改变原来的类的结构,就用list加comparator做,如果还是要用map就把排好序的set或list以name为key再放到map里
『玖』 java中treeset定制排序和自然排序的区别
* TreeSet:
* 1.向TreeSet中添加的元素必须是同一个类的。
* 2.可以按照添加进集合中的元素的指定的顺序遍历。像String、包装类等默认按照从小到大的顺序遍历。
* 3.自然排序:当向TreeSet中添加自定义类的对象时,有两种排序方法:①自然排序 ②定制排序
* 4.自然排序:要求自定义类实现java.lang.Comparable接口并重写其compareTo(Object obj)
* 在此方法中,指明按照自定义类的哪个属性来排序。
*
* 5.向TreeSet中添加元素时,首先按照compareTo()进行比较,一旦返回0,虽然仅是两个对象的
* 此属性值相同,但是程序会认为这两个对象是相同的,进而后一个对象就不能添加进来。
*
* >compareTo()与hashCode()以及equals()三者保持一致!
*
『拾』 如何用java实现一个数组的排列
首先根据数组的类型不同排序方式也是不同的,如果是基本类型数组,那么使用冒泡或者其他排序方式都是很简单的,例如:http://blog.csdn.net/yyywyr/article/details/8075433。如果不想自己写排序算法那么使用Arrays.sort()进行排序也是不错的。
如果是自定义类型的数组,推荐使用java自带的工具类:Comparable接口,并重写CompareTo()方法。或者Compartor。