ジェネリックの使い方
ArrayListを使ったIntegerとStringのケースについて紹介します。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.util.ArrayList;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<Integer>arrayNum=new ArrayList<Integer>();
ArrayList<String>arrayStr=new ArrayList<String>();
//ジェネリックを使用した例
arrayNum=arrayAdd(arrayNum, 1);
arrayStr=arrayAdd(arrayStr, "aaa");
for(int i=0;i<arrayNum.size();i++)
{
Log.d("arrayNum i:" + String.valueOf(i),String.valueOf(arrayNum.get(i)));
}
for(int i=0;i<arrayStr.size();i++)
{
Log.d("arrayStr i:" + String.valueOf(i),arrayStr.get(i));
}
//実行結果の例
/* -----------------------------------------------------------------------------------------
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayNum i:0: 1
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayStr i:0: aaa
----------------------------------------------------------------------------------------- */
arrayNum=arrayAdd(arrayNum, 2);
arrayStr=arrayAdd(arrayStr, "bbb");
arrayNum=arrayAdd(arrayNum, 3);
arrayStr=arrayAdd(arrayStr, "ccc");
arrayNum=arrayRemove(arrayNum, 0);
arrayStr=arrayRemove(arrayStr,0);
for(int i=0;i<arrayNum.size();i++)
{
Log.d("arrayNum i:" + String.valueOf(i),String.valueOf(arrayNum.get(i)));
}
for(int i=0;i<arrayStr.size();i++)
{
Log.d("arrayStr i:" + String.valueOf(i),arrayStr.get(i));
}
//実行結果の例
/* -----------------------------------------------------------------------------------------
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayNum i:0: 2
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayNum i:1: 3
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayStr i:0: bbb
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayStr i:1: ccc
----------------------------------------------------------------------------------------- */
}
//ジェネリックを使用した例
private <T> ArrayList arrayAdd(ArrayList<T> ary, T data)
{
ary.add(data);
return ary;
}
private <T> ArrayList arrayRemove(ArrayList<T> ary, int idx)
{
ary.remove(idx);
return ary;
}
}
|
ジェネリックを使用してArrayListオブジェクトに追加する例
private <T> ArrayList arrayAdd(ArrayList<T> ary, T data)
{
ary.add(data);
return ary;
}
ジェネリックを使用してArrayListオブジェクトから削除する例
private <T> ArrayList arrayRemove(ArrayList<T> ary, int idx)
{
ary.remove(idx);
return ary;
}
実行結果
【配列のサイズ】
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayNum i:0: 1
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayStr i:0: aaa
【配列のデータ】
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayNum i:0: 2
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayNum i:1: 3
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayStr i:0: bbb
10-05 19:44:24.350 8891-8891/com.example.test.test11 D/arrayStr i:1: ccc
|
|