當前位置:首頁 » 編程語言 » java對集合排序

java對集合排序

發布時間: 2022-06-03 02:33:46

java中list集合的排序

根據字元串的含義,進行對象化,比如,Student,有三個屬性,序號,姓名,分數
注意重寫Student的Compareable介面
然後,List<String>變成List<Student> students=new ArrayList<Student>
然後,遍歷list,算出平均分,放入新的SortList<Student>
列印結果

⑵ java中,如何實現集合的升序和降序排列

sql語句的時候定義升降序排列,就行了。如果單純用Java代碼實現的話,可以用冒泡排序,代碼比較簡單:
publicclassBubbleSort
{
publicvoidsort(int[]a)
{
inttemp=0;
for(inti=a.length-1;i>0;--i)
{
for(intj=0;j<i;++j)
{
if(a[j+1]<a[j])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
}
}

⑶ java中兩個list集合如何排序

放到一個list中排zd序就專可以了
List<Article>
list
=
new
ArrayList<Article>();
list.addAll(list1);
list.addAll(list2);
然後2層循屬環就可以了

⑷ java中如何對數組和集合進行排序

java中對集合排序,可以使用Collections.sort來進行排序,可以對中文、字母、數字進行排序,當比較的是對象時候,讓該類實現comparable介面,示例如下:
Collections.sort(dataMap, new Comparator<Map<String, Object>>() { //排序介面實現方法 @Override public int compare(Map<String, Object> lhs, Map<String, Object> rhs) { switch (whichsort) { case System_OpenPosition_Sort_Currency: String d2 = ((String) rhs.get(Instrument)); String d1 = (String) lhs.get(Instrument); if (d2 != null && d1 != null) { int flag = d1.compareTo(d2); if (flag == 0) { Double d3 = ((Double) rhs.get(OpenPrice)); Double d4 = (Double) lhs.get(OpenPrice); if (d3 != null && d4 != null) { int flag2 = d4.compareTo(d3); if (flag2 == 0) { String d5 = ((String) rhs.get(BuySell)); String d6 = (String) lhs.get(BuySell);//文字排序 if (d5 != null && d6 != null) { return d6.compareTo(d5);//返回一個int類型,用來判斷是否大於、小於還是等於 } } return d4.compareTo(d3); } } else { return flag; } // return d1.compareTo(d2); }

⑸ java集合類排序

首先寫一個員工排序者
class EmpComparetor implements Comparator<Emp>{
@Override
public int compare(Emp o1, Emp o2) {
Float s1 = o1.getSalary();
Float s2 = o2.getSalary();
return s1.compareTo(s2);
}
}

然後直接使用Arrays.sort方法,第一個參數傳入List,第二個參數實例化一個這個類就好了

⑹ java哪些集合排序

TreeMap,TreeSet等

⑺ java怎樣對集合按照實體類的欄位排序

如果是實體類你可以通過資料庫查詢排序,這里就不多說了
如果已經得到結果了你可以通過編寫一個對象比較器來實現排序
代碼參考如下
package com.ljq.entity;

/**
* 運號單流程
*
* @author Administrator
*
*/
public class Step{
/** 處理時間 */
private String acceptTime = "";
/** 快件所在地點 */
private String acceptAddress = "";

public Step() {
super();
}

public Step(String acceptTime, String acceptAddress) {
super();
this.acceptTime = acceptTime;
this.acceptAddress = acceptAddress;
}

public String getAcceptTime() {
return acceptTime;
}

public void setAcceptTime(String acceptTime) {
this.acceptTime = acceptTime;
}

public String getAcceptAddress() {
return acceptAddress;
}

public void setAcceptAddress(String acceptAddress) {
this.acceptAddress = acceptAddress;
}

}

復制代碼

二、實現Comparator介面
復制代碼

package com.ljq.entity;

import java.util.Comparator;
import java.util.Date;

import com.ljq.util.UtilTool;

/**
* 對Step類進行排序
*
* @author Administrator
*
*/
public class StepComparator implements Comparator<Step>{

/**
* 如果o1小於o2,返回一個負數;如果o1大於o2,返回一個正數;如果他們相等,則返回0;
*/
@Override
public int compare(Step o1, Step o2) {
Date acceptTime1=UtilTool.strToDate(o1.getAcceptTime(), null);
Date acceptTime2=UtilTool.strToDate(o2.getAcceptTime(), null);

//對日期欄位進行升序,如果欲降序可採用before方法
if(acceptTime1.after(acceptTime2)) return 1;
return -1;
}

}

復制代碼

三、測試
復制代碼

package junit;

import java.util.Collection;
import java.util.Collections;
import java.util.List;

import org.junit.Test;

public class StepComparatorTest {

@Test
public void sort() throws Exception{
List<Step> steps=new ArrayList<Step>;
//對集合對象進行排序
StepComparator comparator=new StepComparator();
Collections.sort(steps, comparator);
if(steps!=null&&steps.size()>0){
for(Step step:steps){
System.out.println(step.getAcceptAddress());
System.out.println(step.getAcceptTime());
}
}

}
}

熱點內容
翁虹ftp 發布:2025-02-09 14:02:54 瀏覽:131
java加密對稱 發布:2025-02-09 13:55:49 瀏覽:412
坤詡錢包為什麼沒有安卓版 發布:2025-02-09 13:50:49 瀏覽:299
存儲過程性能優化 發布:2025-02-09 13:42:59 瀏覽:729
源碼失竊 發布:2025-02-09 13:38:34 瀏覽:527
自動瀏覽器腳本 發布:2025-02-09 13:37:00 瀏覽:141
易語言問道源碼 發布:2025-02-09 12:59:03 瀏覽:664
ip和伺服器有關嗎 發布:2025-02-09 12:51:26 瀏覽:952
極光免費腳本 發布:2025-02-09 12:50:33 瀏覽:396
c存儲過程返回結果集 發布:2025-02-09 12:42:00 瀏覽:150