List のマージとソート

C:\DATA\Java2\01Dos>java ListSort
1
3
6
7
2
3
7
8
9
Sort Object[]
1
2
3
3
6
7
7
8
9
 -- Press any key to exit (Input "c" to continue) --

ArrayList をマージしてソートします。
また ArrayList を Integerr 型の配列に変換します。

前田稔の超初心者のプログラム入門

プログラムの作成

  1. メモ帳などでタイプして ListSort.java の名前で保存して下さい。
    // ArrayList のマージとソート    前田 稔
    import java.util.*;
    class  ListSort
    {   public static void main(String[] args)
        {   ArrayList<Integer>  list1 = new ArrayList<Integer>();
            ArrayList<Integer>  list2 = new ArrayList<Integer>();
    
            list1.add(1);
            list1.add(3);
            list1.add(6);
            list1.add(7);
    
            list2.add(2);
            list2.add(3);
            list2.add(7);
            list2.add(8);
            list2.add(9);
    
            list1.addAll(list2);
            for(int i=0; i<list1.size(); i++)   System.out.println(list1.get(i));
    
            Object[] obj = list1.toArray();
            System.out.println("Sort Object[]");
            java.util.Arrays.sort(obj);
            for(int i=0; i<obj.length; i++) System.out.println(obj[i]);
        }
    }
    
  2. java のソースファイルをコンパイルして class オブジェクトを実行して下さい。
    ページ先頭の画面が表示されたら完成です。

プログラムの説明

  1. ArrayList list1 と list2 に適当な値を格納します。
    list1 の後に list2 を追加して印字してみました。
            ArrayList<Integer>  list1 = new ArrayList<Integer>();
            ArrayList<Integer>  list2 = new ArrayList<Integer>();
    
            list1.add(1);
            list1.add(3);
            list1.add(6);
            list1.add(7);
    
            list2.add(2);
            list2.add(3);
            list2.add(7);
            list2.add(8);
            list2.add(9);
    
            list1.addAll(list2);
            for(int i=0; i<list1.size(); i++)   System.out.println(list1.get(i));
        
  2. list1 を Object[] 配列に格納してソートして印字します。
            Object[] obj = list1.toArray();
            System.out.println("Sort Object[]");
            java.util.Arrays.sort(obj);
            for(int i=0; i<obj.length; i++) System.out.println(obj[i]);
        
  3. int[] 型の配列に格納するときは、次のようにコーディングして下さい。
            Integer[] tbl= (Integer[])list1.toArray(new Integer[0]);
            System.out.println("Sort Integer[]");
            java.util.Arrays.sort(tbl);
            for(int i=0; i<tbl.length; i++) System.out.println(tbl[i]);
        

超初心者のプログラム入門(Java2)