『壹』 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。