如何从最小到最大数字排序数字 - Java?

时间:2012-04-02 13:01:31

标签: java arrays sorting collections arraylist

如何在List中保存数字,我可以从最小到最大排序。 我创建了新的字符串,我插入所有数字。比我进入List并对其进行排序。之后,我检查一个数字,我得到颜色od图标。

我试过了:

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
}

4 个答案:

答案 0 :(得分: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);

答案 1 :(得分:3)

您需要为您的情况实施比较器。并将其作为参数传递给 Collection.sort()

答案 2 :(得分:3)

不确定你想要什么...但要将整数放入列表中,你可以尝试:

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

同样在顶部你的颜色是整数,但在底部它们看起来像字符串,也许你可以稍微改写一下你的问题。我认为解决方案很简单。

答案 3 :(得分:3)

保存列表中的数字: 首先,列表应该来自int类型,然后逐个插入:

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

进行排序只需使用:

Collections.sort(myList);

它会起作用,因为Integer实现了Comparable