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

集合排序java

發布時間: 2023-05-12 22:19:44

『壹』 java集合數字排序

import java.util.Collections;
import java.util.Comparator;
import java.util.Vector;

public class TestClass {
public static void main(String[] args){
Vector<Integer> v=new Vector<Integer>();
v.add(5);
v.add(3);
v.add(2);
v.add(1);
v.add(4);
Comparator<Integer> cm = new MyComparator();
Collections.sort(v,cm );
for(Integer x :v)
System.out.print(x + " ");
}
}

class MyComparator implements Comparator<Integer>{
public int compare(Integer i1, Integer i2) {
if (i1 > i2) return -1;
else if (i1 == i2) return 0;
else return 1;
}
}

『貳』 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中如何對集合排序

java中對集合排序,可以使用Collections.sort來進行排序,可以對中文、字母、數字進行排序,當比較的是對象時候,讓該類實現comparable介面,示例如下:

Collections.sort(dataMap,newComparator<Map<String,Object>>()並斗{
//排序介面實現方法
@Override
publicintcompare(Map<String,Object>lhs,Map<String,野攔Object>rhs){
switch(whichsort){
caseSystem_OpenPosition_Sort_Currency:

Stringd2=((String)rhs.get(Instrument));
Stringd1=(String)lhs.get(Instrument);
if(d2!=null&&d1!=null){

intflag=d1.compareTo(d2);
if(flag==0){
Doubled3=((Double)rhs.get(OpenPrice));
Doubled4=(Double)lhs.get(OpenPrice);
if(d3!=null&&d4頌蔽胡!=null){

intflag2=d4.compareTo(d3);
if(flag2==0){
Stringd5=((String)rhs.get(BuySell));
Stringd6=(String)lhs.get(BuySell);//文字排序
if(d5!=null&&d6!=null){

returnd6.compareTo(d5);//返回一個int類型,用來判斷是否大於、小於還是等於
}
}

returnd4.compareTo(d3);
}
}else{
returnflag;
}
//returnd1.compareTo(d2);
}

『伍』 Java的List怎麼排序啊

問題在於

doubletemp=0.0;

你把temp設置成double型,然後

temp=arr.get(l).doubleValue();

所以你把取得的int類型轉換成了double類型,最後輸出就帶上了.0


你仔細看看你的程序,int類型有的排序後沒有變,有的變x.0了,凡是加上.0的都是它在排序過程中與double類型的數字進行過交換。

『陸』 請問Java中如何用compareTo方法對集合進行排序啊

import java.util.*;
class Student implements Comparable
{
public String sName;
public Student()
{

}
public Student(String sName)
{
this.sName=sName;
}
public int compareTo(Object o)/宏喊伍蔽或滲爛/重寫compareTo方法
{
Student tempStudent=(Student)o;
String temp=tempStudent.sName;
return this.sName.compareTo(temp); //按字元串sName的順序排列Student
}
public String toString()
{
return this.sName;
}
}
class fggg {
public static void main(String args[])
{
TreeSet ts=new TreeSet();//插入Student對象時,會自動調用compareTo方法
ts.add(new Student("DD"));
ts.add(new Student("CC"));
ts.add(new Student("BB"));
System.out.println(ts);
}
}

『柒』 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怎樣對集合按照實體類的欄位排序

如果是實體類你可以通過資料庫查詢排序,這里就不多說了
如果已經得到結果了你可以通過編寫一個對象比較器來實現排序
代碼參考如下
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());
}
}

}
}

『玖』 「java set」集合的值可以排序嗎

Set集合的排序x0dx0a我們知道,Set集合是無序的,x0dx0a可以使用TreeSet類,那麼TreeSet進行排序的規則是怎樣的呢?x0dx0a1 TreeSet支持兩種排序方式,自然排序和定製排序,在默認情況下,TreeSet採用自然排序.x0dx0a自然排序:x0dx0aTreeSet會調用集合元素的compareTo(Object obj)方法來比較元素之間的大小關信滾系,然後將集合的元素按升序排列,這種方式就是自然排序.x0dx0a為什麼集合元素有compareTo方法,因為集合元素對象實現了Comparable介面,該方法返回一個整數值,當一個對象調用該方法與另一個對象進行比較,例如:x0dx0aobj1.compareTo(obj2)如果返回0,表示這兩個對象相等,如果該方法返回一個正整數,表示obj1大於obj2如果該方法返回一個負整數,表示obj1小於obj2x0dx0a所以需要使用TreeSet集合進行自然排序,元素必須實現Comparable介面,但是Java一沒沖些常用的類已經實現了該介面,例如枯坦殲:String Character Boolean Date Timex0dx0aBigDecimal BigInteger等x0dx0a如:x0dx0aTreeSet ts = new TreeSet(); x0dx0ats.add("b"); x0dx0ats.add("c"); x0dx0ats.add("a"); x0dx0aSystem.out.println(ts);x0dx0a結果:a b c

『拾』 Java中如何對集合排序

Java內建的排序(冒泡):Java集合有兩個實現的工具類,Collections和Arrays。Collections針對集合類型。Arrays針對數組。只需要一個為你排序需判叢要的定製的Comparator或Comparable的實現,將其作為參數傳給Collections或Arrays的sort方法就行。
可以自己用畢沖野程序去實現這個排序。用for從原List裡面一個一個手喊拿出來比較然後一個新建的List裡面去。
樓主看一下參考資料。

熱點內容
java完全數 發布:2025-07-18 06:40:46 瀏覽:273
微信投訴怎麼上傳圖片 發布:2025-07-18 06:40:38 瀏覽:785
電腦版我的世界自救練習伺服器 發布:2025-07-18 06:22:25 瀏覽:263
光遇之前為什麼不在安卓上線 發布:2025-07-18 06:20:17 瀏覽:284
c語言偏移 發布:2025-07-18 06:03:01 瀏覽:889
甘肅雲堤伺服器 發布:2025-07-18 06:02:52 瀏覽:650
狼人殺腳本群 發布:2025-07-18 06:00:45 瀏覽:289
oracle10g安裝linux 發布:2025-07-18 05:53:33 瀏覽:619
百科php 發布:2025-07-18 05:53:33 瀏覽:879
刪除觸發器的sql語句 發布:2025-07-18 05:44:42 瀏覽:678