マイペースなプログラミング日記

DTMやプログラミングにお熱なd-kamiがマイペースに書くブログ

TreeSetを逆順でアクセスする その2

TreeSetを逆順でアクセスするではNavigableSetを使って逆順でアクセスしたが、NavigableSetは1.6からしか使えないので、それ以前のバージョンだと使えない。なので、そんなときの逆順アクセス。TreeSetのコンストラクタでComparatorを指定すればいいんだけど、逆順でアクセスするだけならCollections.reverseOrder()を使えばいい。勿論TreeMapでも同じようにできる。なのでさっそくソース

import java.util.TreeSet;
import java.util.Collections;

public class DescendingTest {
    public static void main(String[] args){
        int[] data = {100, 53, 1, 41, 33, 66, 128, 15, 9, 97};
        
        TreeSet<Integer> integerSet = new TreeSet<Integer>();

        for(int integer : data)
            integerSet.add(integer);

        System.out.println("TreeSetの順番");
        
        for(int integer : integerSet)
            System.out.println(integer);

        TreeSet<Integer> descendingSet = new TreeSet<Integer>(Collections.reverseOrder());
        descendingSet.addAll(integerSet);

        System.out.println();
        System.out.println("TreeSetの逆順");
        
        for(int integer : descendingSet)
            System.out.println(integer);
    }
}