按升序对int变量进行排序

时间:2014-07-13 10:28:28

标签: java android arrays sorting

我正在Android中创建一个彩票号码生成器,但最近已经停止了。

它的工作方式是,我通过循环不同的时间来填充数组列表。 然后我通过调用collections.shuffle来重新排列数组列表。 最后,我创建了五个int变量来从数组列表中获取前5个元素。 这一切都很好。

现在我的问题是尝试按升序打印出来。我遇到过collections.sort,遗憾的是这没有帮助,因为它只会按升序对数组列表进行排序,从而消除了我对独特随机顺序的原始目标。

有没有办法让以下5个整数变量按升序打印?

我找不到任何相关的文档,允许我将这5个int变量添加到int数组中,然后在数组上调用sort,如果可能的话。

 public void onClick(View view) {
    ArrayList<Integer> euroList = new ArrayList<Integer>();
    TextView textView1 = (TextView) findViewById(R.id.textview2);

    for (int i = 1; i <= 50; i++) {
        euroList.add(i);
    }

    Collections.shuffle(euroList);

    textView1.setText("");

    int num1 = euroList.get(0);
    int num2 = euroList.get(1);
    int num3 = euroList.get(2);
    int num4 = euroList.get(3);
    int num5 = euroList.get(4);



    textView1.setText(String.valueOf(num1) + " " + String.valueOf(num2)
            + " " + String.valueOf(num3) + " " + String.valueOf(num4) + " "
            + String.valueOf(num5));

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

您可以在提取之前对列表的前5个元素进行排序。在shuffle之后,在获得结果元素之前,添加:

Collections.sort(euroList.subList(0, 5));

整件事情看起来像这样:

Collections.shuffle(euroList);
Collections.sort(euroList.subList(0, 5));

int num1 = euroList.get(0);
int num2 = euroList.get(1);
int num3 = euroList.get(2);
int num4 = euroList.get(3);
int num5 = euroList.get(4);

答案 1 :(得分:0)

首先将五个int值提取到新的ArrayList <Integer>。对该列表排序。然后确定num1,num2,n ......