Java Mania

Java Mania

Collections

コレクションに関する検索やソートなどの様々なメソッドを扱うクラス。 java.util.Arraysのコレクション版と考えてよい。このクラスも使いやすく便利なメソッドが 多いので、是非使いこなして欲しい。
※このクラスのbinarySearchもArraysクラス同様にsortしてから利用しなければならない。
HomePageTop▲

How To Use -使用方法-

Collectionsクラスは下記のように使用する。

メソッドの説明
※全てのメソッドを網羅していないので、詳細はAPIリファレンスを参照する。
public static void copy(List dest,List src)
srcのリストをdestのリストにコピーする。
public static int binarySearch(List list,Object key)
リストの要素にkeyがあるかどうか検索する。
public static Object max(Collection coll)
collの最大要素を取得する。
public static Object min(Collection coll)
collの最小要素を取得する。
public static void fill(List list,Object obj)
指定されたlistをobjで埋める。
public static boolean replaceAll(List list,Object oldVal,Object newVal)
指定されたlistの要素のoldValをnewValに置換する。
public static void reverse(List list)
listの要素の順序を逆にする。
public static void shuffle(List list)
listの要素の順序を無作為に入れ替える。
public static void sort(List list)
aの配列をソートする。
public static Collection synchronizedCollection(Collection c)
cを元にする同期コレクションを返す。このメソッドはList,Map,Set用もある。
public static Collection unmodifiableCollection(Collection c)
cを元にする変更不可のビューを返す。このメソッドはList,Map,Set用もある。
HomePageTop▲

Source -CollectionsTest.java-

package mania.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;

public class CollectionsTest
{

  // Collectionsの使用方法
  public static void main(String[] args)
  {
    System.out.println("===実行結果===");

    System.out.println("*list1の初期値");
    List list1 = new ArrayList();
    list1.add("Tom");
    list1.add("Alice");
    list1.add("Nancy");
    list1.add("Bob");
    write(list1);

    // reverseの確認
    System.out.println("*list1のリバース後");
    Collections.reverse(list1);
    write(list1);

    // sortの確認
    System.out.println("*list1のソート後");
    Collections.sort(list1);
    write(list1);

    // binarySearchの確認(Bobを検索)
    if(Collections.binarySearch(list1, "Bob") != 0)
    {
      System.out.println("Listの中にBobがいる。");
    }

    // 最大値
    System.out.println("最大値:" + Collections.max(list1));

    // 最小値
    System.out.println("最小値:" + Collections.min(list1));

  }

  public static void write(List list)
  {
    for(Iterator it = list.iterator(); it.hasNext();)
    {
      System.out.print(it.next());
      System.out.print(" ");
    }
    System.out.println();
  }
}
HomePageTop▲

Results -実行結果-


===実行結果===
*list1の初期値
Tom Alice Nancy Bob 
*list1のリバース後
Bob Nancy Alice Tom 
*list1のソート後
Alice Bob Nancy Tom 
Listの中にBobがいる。
最大値:Tom
最小値:Alice

HomePageTop▲

Copyright (C) 2006, JavaMania. All Rights Reserved.