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); } }