在Java中对一组简单的测试分数进行排序

时间:2014-07-10 02:19:24

标签: java arrays sorting

我正在尝试自己学习java。我知道对大多数人来说这可能是一个非常简单的问题,但我很困惑。所以我要说我有一个人的列表,比如说a,b,c,d在测试中得到4分,2分,3分和1分。 所以我有:

    public static void main(String[] arguments) {
        String[] names = { "a","b","c","d" };
        int[] times = { 4,2,3,1};

如何编写代码以获得最高分和第二高分?

提前感谢加载。

4 个答案:

答案 0 :(得分:2)

使用Arrays.sort()

{
    Arrays.sort(times);
    System.out.println(times[times.length-1]);
    System.out.println(times[times.length-2]);
}

View a live code demo.

答案 1 :(得分:1)

您可以使用一种非常简单的技术Bubble Sort来按降序对数组进行排序

类似的东西,

for(int i=0; i<array.length; i++) {
        for(int j=0; j<array.length-1-i; j++) {
        if(array[j].compareTo(array[j+1])>0) {
            t= array[j];
            array[j] = array[j+1];
            array[j+1] = t;
        }
    }
}

<强>演示

enter image description here

修改

对于Lambda Expression我建议您首先浏览this document,然后先尝试自己。如果您遇到任何问题,请在此告知我们。

答案 2 :(得分:0)

在数组上使用the Array.sort方法,然后使用索引。当它以这种方式排序时,它按升序排列。

Arrays.sort(times);
int highest = times[times.length-1]; // arrays start at index 0, so "-1"
int secondhighest = times[times.length-2];

答案 3 :(得分:0)

如何在Java 8

中完成此操作

代码:

    Integer[] numbers = {2,4,3,1,5,6,8,7};
    List<Integer> N = Arrays.asList(numbers);
    System.out.print("the list ");
    N.forEach((i)->System.out.print(i + " "));
    System.out.println();
    Comparator<Integer> byThis = (i, j) -> Integer.compare(
         i,j);
    System.out.print("the ordered list ");
    N.stream().sorted(byThis).forEach(i->System.out.print(i+" "));
    System.out.println("");

    String[] names = {"c", "b", "a", "d"};
    for(String st: names) System.out.print(st + " " );
    System.out.println(); 
    List<String> S = Arrays.asList(names);
    S.stream().sorted().forEach(s -> System.out.print(s + " "));

   System.out.println("\n The Max Number is " + N.stream().max(byThis).get());

输出:

the list 2 4 3 1 5 6 8 7 
the ordered list 1 2 3 4 5 6 7 8

the list c b a d 
the ordered list a b c d

The Max Number is 8

来源:

http://www.leveluplunch.com/java/tutorials/007-sort-arraylist-stream-of-objects-in-java8/

http://www.dreamsyssoft.com/java-8-lambda-tutorial/comparator-tutorial.php