簡體   English   中英

排序數組而不是ArrayList

[英]Sort an array instead of an ArrayList

我有一個數組,而不是arrayList,我想對它進行排序。 這僅告訴我Collections不適用於參數(pixelPlaceSort.Pixel []等。

Collections.sort(pixels, new PixelComparator());

我可以使用列表來解決它,但出於學習的目的,我不希望這樣。

那么這怎么工作呢? c是一個整數。

class PixelComparator implements Comparator<Pixel> {

  PixelComparator() {
  }

  public int compare(Pixel p1, Pixel p2) {
    if(p1.c < p2.c) {
      return -1; 
    } else if(p1.c > p2.c) {
      return 1; 
    }
    else {
      return 0; 
    }
  }


}

您可以使用Arrays.sort(Object[] array)Arrays.sort(Object[] array,Comparator c)

為此,您有一個名為Arrays的類。

使用Arrays.sort(pixels)Arrays.sort(pixels,new PixelComparator())

javadoc中檢查java.util.Arrays,並選擇適當形式的sort()方法。

使用Arrays類-特別是此Arrays.sort()方法。

您有2個選項可以對此進行排序。

1-保留陣列:

您使用“數組”類排序方法

Arrays.sort(pixels,new PixelComparator());

2-改用列表

您首先將數組轉換為列表,然后對其進行排序:

ArrayList<Pixel> pixellist  = new ArrayList<Pixel>(Arrays.asList(pixels));
Collections.sort(pixellist, new PixelComparator());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM