こものAndroidメモ

Androidアプリの開発メモブログ!!

リストのシャッフル処理 —

リストのシャッフル処理を書いてみました。
 

数字とステータスを持つクラスを作成し、そのクラスのリストを作成します。
リストの内容のアイテムはとりあえず10個とし、それらには連番をふります。
 

そして、それらをシャッフルして、それまで連番になっていたリストをシャッフルするというものです。
 

import java.util.ArrayList;
import java.util.Collections;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class ShufulleMainActivity extends Activity {

	private class NumberItem {
		public int Number;
		public boolean Status;
	}

	private ArrayList<NumberItem> mNumberList = null;
	private final int max_Number = 10;

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        int ran = setRandomNumber();

		for(int i = 0; i < ran; i++){
			NumberItem item =  mNumberList.get(i);
			Log.d("", "" + item.Number);
		}
	}

	private int setRandomNumber()
	{
		if(mNumberList != null){
			mNumberList.clear();
			mNumberList = null;
		}

		mNumberList = new ArrayList<NumberItem>();

		for(int i = 0; i < max_Number; i++){
			NumberItem item = new NumberItem();
			item.Number = i;
			item.Status = false;

			mNumberList.add(item);
		}

		/** シャッフル処理. */
		Collections.shuffle(mNumberList);

		return(mNumberList.size());
	}
}

 

[実行結果 例]
9
2
5
1
8
7
0
4
6
3
 

シャッフルなので、当然毎回実行結果が変わってきます。
ゲームなどでランダム要素を使いたいときにシャッフルは便利ですね。



Categorised as: 適当な処理



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です