解答例 - 実習課題4 - 5.配列/コレクションを操作するクラス
(実習課題4)
以下のコンソールアプリケーションを作成しなさい。
- 要素が10個以上ある数値のリストを作成する事。
- そのリストをCollectionsの「reverseOrder」の返り値を用いてソートした場合の結果を表示する事。
- またリストに対して、Collectionsの「unmodifableList」を適用し、その返り値に対して変更を加えたときに発生する例外を確認する事。
解答例
package com.techscore.utility.chapter5.exercise4; import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; /** * CollectionsUnmodifableListExample.java * TECHSCORE Javaユーティリティ5章 実習課題4 * * Copyright (c) 2004 Four-Dimensional Data, Inc. */ public class CollectionsUnmodifableListExample { public static void main(String[] args) { int[] primitive_int_array = { 23, 14, 641, 66, 6, 62, 2, 56, 0, 542 }; Integer[] wrapped_int_array = new Integer[primitive_int_array.length]; for (int i = 0; i < wrapped_int_array.length; i++) { wrapped_int_array[i] = new Integer(primitive_int_array[i]); } List list = Arrays.asList(wrapped_int_array); System.out.println("■初期化 (list の初期値を表示)"); printList(list); System.out.println( "○Collections.sort(list, Collections.reverseOrder()); を実行"); Collections.sort(list, Collections.reverseOrder()); printList(list); try { list = Collections.unmodifiableList(list); System.out.println("■list = Collections.unmodifiableList(list); とする"); System.out.println("○Collections.shuffle(list); を実行"); Collections.shuffle(list); } catch (Exception e) { System.out.println("\t" + e.getClass() + " が発生"); } } private static void printList(List list) { if (list != null) { System.out.print("\t["); Iterator itr = list.iterator(); while (itr.hasNext()) { System.out.print(itr.next() + " "); } System.out.println("]"); System.out.println(""); } } }