-4

我是使用 Java 进行排序的新手,场景是我有 8 个球,其中一个球的重量较轻,通过使用 Java 代码,我需要确定哪个球的重量较轻。

我使用了以下代码,但不确定这是否适用于所有场景:

public class SortingMarble {
    public static void main(String[] args){
        List<Integer> list = Arrays.asList(20, 30, 90, 50, 45, 100,65,90);
        List<Integer> copy = new ArrayList<Integer>(list);
        Integer smallest = Collections.min(copy); // 20    
        System.out.println(smallest);
    }
}

我可以在这里使用任何 java 设计模式吗?有没有收集 API 来解决这个问题?

我必须使用集合来解决这个问题。我使用了 List Api,集合中有没有其他特定的 api 可以排序?

在这里我给出了数字,我怎样才能做到 8 个不同的球,其中一个球的重量小于其余 7 个球?

4

1 回答 1

1
private class BallsComparator implements Comparator<Ball>
{
    public int compare(Ball o1, Ball o2)
    {
        return new Integer(o1.getWeight()).compareTo(o2.getWeight);
    }
}

Collections.sort(myBallsList, new BallsComparator());

这假设你的球有一个getWeight()给出intInteger值的方法。如果不是,请相应调整。

于 2013-07-25T21:02:19.340 回答