2012-04-02 35 views
0

我如何保存列表中的數字,我可以從最小值到最大值進行排序。 我創建了新的字符串,我插入所有數字。比我進入列表並對其進行排序。之後,我檢查一個數字,我得到顏色od圖標。如何從最小編號到最大編號 - Java?

我嘗試這樣做:

import java.util.Collections; 
import java.util.ArrayList; 
import java.io.*; 

int colour1 = 1; 
int colour2 = 3; 
int colour3 = 2; 
int colour4 = 3; 

String rezerva =colour1, colour2, colour3, colour4; 
List<String> myList = new ArrayList(rezerva); 
Collections.sort(myList); 

colour1 = myList.get(0); 

if (colour1==1){ 
//change icon to red 
} 
else if (colour1==2){ 
//change icon to white 
} 
else { 
//change icon to black 
} 
+0

您的代碼將不會接近編譯目前。請創建一個簡短但完整的程序來演示問題。 – 2012-04-02 13:04:04

+0

String rezerva = colour1,colour2,colour3,colour4;這條線的含義是什麼? – erimerturk 2012-04-02 13:05:51

+0

我得到了String rezerva = color1(如1),然後color2(如3)等 – 2012-04-02 13:07:05

回答

4

使用Integer,而不是String爲您的列表

Integer colour1=1; 
    Integer colour2=3; 
    Integer colour3=2; 
    Integer colour4=3; 

    ArrayList<Integer> myList = new ArrayList<Integer>(); 
    myList.add(colour1); 
    myList.add(colour2); 
    myList.add(colour3); 
    myList.add(colour4); 
    Collections.sort(myList); 
3

你需要實現一個比較您的具體情況。並把它作爲參數傳遞給Collection.sort()

+1

+1,但我認爲如果OP將所有這些邏輯封裝到實現「Comparable」接口的類中會更好。 – mre 2012-04-02 13:06:20

+0

也是如此 – 2012-04-02 13:06:38

3

不知道你想要什麼......但讓你的整數進入榜單,你可以嘗試:

List<Integer> myList = Arrays.asList(colour1, colour2, colour3, colour4); 

而且在頂你的顏色是整數,但它們看起來像琴絃底部,或許你可以改一下你的問題有點。我認爲解決方案很簡單。

3

保存在列表編號: 首先列表應該從int類型,然後通過一個插入一個:

List<Integer> myList = new ArrayList<Integer>(); 
myList.add(colour1); 
myList.add(colour2); 
myList.add(colour3); 
myList.add(colour4); 

進行排序,它只是使用:

Collections.sort(myList); 

,它將工作,因爲Integer工具可比較