程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java 排序-Java list排序 list的元素類型為包含數字和字符串的自定義類型

java 排序-Java list排序 list的元素類型為包含數字和字符串的自定義類型

編輯:編程綜合問答
Java list排序 list的元素類型為包含數字和字符串的自定義類型

Java中自定義了一個數據結構:linkType{string str; int weight} 包含一個字符串,還有該字符串的權重
現在有List list = new ArrayList
希望能將list中的linkType按照字符串的權重重新排序

最佳回答:


樓上說的對。
使用java原生的API很方便的可以排序。
第一步對你的自定義類要實現Comparable接口,實現它的compareTo方法,在這個方法裡面自己去寫比較大小的邏輯。
然後使用Collections類對你裝了自定義的數據List進行排序,Collections.sort(list);此方法默認是按升序排列,如果你想排降序,那麼得到升序之後再Collections.reverse(list)即可。

其實不用java的API,自己一樣可以寫排序,無需繼承Comparable接口,自己在linkType裡面定義一個比較大小的方法,名字都可以隨便取。然後對list循環,采用冒泡排序(或其他排序算法)就可以完成。

但是既然java已經提供了Collections這麼好用的類,建議采用實現Comparable接口的方式去做。Collections提供了很多好用的方法,排序啊、逆序啊、二分法查找啊等等都幫你封裝的很好了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved