JavaA2Z

KAB-studio > プログラミング > JavaA2Z > 降順とは

降順

日本語 降順
英語 descending order
ふりがな こうじゅん
フリガナ コウジュン

解説

ソートう際、「減っていくように並べ替える」こと。
たとえば「3, 2, 1」と並べることを「降順」という。逆に「1, 2, 3」のように並べることを「昇順」と言う。
 
Arraysクラスのsort()メソッドによるソート昇順ソートであるため、降順にするためにはそのままではえない。
プリミティブ型配列の場合、昇順ソートして、それを逆順にすればよい。
クラス配列の場合、安定ソート等によって「降順でのソート」と「昇順ソートの逆」とでは結果が異なってしまう。そのため、降順でソートする場合には「要素の比較をったときに、逆の値を返す」ための、Comparatorインターフェイス実装クラスを作り渡す必要がある。
 
昇順」「降順」は、あくまで「並べる方向」に対して「増えていく」「減っていく」ことを表している点に注意。つまり、見た目の方向は全く関係ない。
たとえばWindowsのエクスプローラー等でファイルを一覧表示する場合に、下から上にアルファベットの順に並べ、上にZ、下にaが来るように並べたとする。この並べ方は「降順」である。「上から下」という方向に沿って「減るように」並べたからである。見た目の方向が「下から上」に「昇っている」からといって、昇順ではない。

参考サイト


(KAB-studioからのおしらせです)

サンプルプログラム(とか)サンプルを別ウィンドウで表示サンプルをクリップボードへコピー(WindowsでIEの場合のみ)

// Sample.java
import java.util.Arrays;
import java.util.Comparator;

public class Sample
{
    public static void main( String[] args )
    {
        // ソート対象の配列を作ります。
        Integer[] integers = new Integer[]{ new Integer( 500 ), new Integer( 100 ), new Integer( 900 ), new Integer( 700 ), new Integer( 300 ) };

        // ソートします。
        Arrays.sort( integers, new DescendingIntegerComparator() );

        forint iF1 = 0; iF1 < integers.length; ++iF1 )
        {
            System.out.println( integers[iF1] );
        }
        // 900
        // 700
        // 500
        // 300
        // 100
    }
}

/**
*   降順にソートするためのComparator
*/
class DescendingIntegerComparator implements Comparator
{
    public int compare( Object lh, Object rh )
    {
        Integer iL = (Integer)lh;
        Integer iR = (Integer)rh;
        // Integerとして取得してそのcompareTo()の結果を
        // そのまま使用します。ただし、逆順にするため
        // マイナスにします。
        return -( iL.compareTo( iR ) );
    }
}
// Sample.java
import java.util.Arrays;
import java.util.Comparator;

public class Sample
{
    public static void main( String[] args )
    {
        // ソート対象の配列を作ります。
        Integer[] integers = new Integer[]{ new Integer( 500 ), new Integer( 100 ), new Integer( 900 ), new Integer( 700 ), new Integer( 300 ) };

        // ソートします。
        Arrays.sort( integers, new DescendingIntegerComparator() );

        for( int iF1 = 0; iF1 < integers.length; ++iF1 )
        {
            System.out.println( integers[iF1] );
        }
        // 900
        // 700
        // 500
        // 300
        // 100
    }
}

/**
*   降順にソートするためのComparator
*/
class DescendingIntegerComparator implements Comparator
{
    public int compare( Object lh, Object rh )
    {
        Integer iL = (Integer)lh;
        Integer iR = (Integer)rh;
        // Integerとして取得してそのcompareTo()の結果を
        // そのまま使用します。ただし、逆順にするため
        // マイナスにします。
        return -( iL.compareTo( iR ) );
    }
}

この単語を含むページ

「みだし」に含まれているページ

「解説」に含まれているページ

「サンプルプログラムとか」に含まれているページ

はてなブックマーク 詳細を表示 はてなブックマーク ブックマーク数
livedoorクリップ 詳細を表示 livedoorクリップ ブックマーク数
Yahoo!ブックマーク 詳細を表示 users
del.icio.us 登録する RSSに登録
サンプルを別ウィンドウで表示
サンプルをクリップボードへコピー(WindowsでIEの場合のみ)
update:2005/07/07
このページは、Javaプログラミング言語についての用語を網羅した辞書「JavaA2Z」の一ページです。
詳しくは「JavaA2Z」表紙の説明をご覧ください。