Javaの授業 26 [ コレクションフレームワーク] | Let's Re⇒move

Javaの授業 26 [ コレクションフレームワーク]

【 コレクションフレームワーク 】


知らなくてもプログラムはできるが知っていると便利。
※特に【 Arraylist 】はおさえておくこと。



・Arraylist(可変長配列)


配列の要素数を決めなくてもよい配列。

importt java.util.*; //java.util.*のインポート

ArrayList< 型 > list=new Arraylist< 型 >()

list.add("~~") 要素の追加
list.add(i,"~~") i番目の要素として"~~"を追加
list.get(i) i番目の要素の参照
list.set(i,"~~") i番目の要素に"~~"を代入
list.remove(i) i番目の要素を削除
list.clear() 全要素を削除
list.size() 要素数


サンプル1
------------
Excute.java
---------------------
import java.util.*;

class Execute {

public static void main(String[] args) {
ArrayList<String> sList = new ArrayList<String>();
for(int i=0;i<10;i++){
sList.add("String : "+i);
}

for(int i=0;i<sList.size();i++){
System.out.println(sList.get(i));
}

// コメントをはずすとエラー
// sList.add(new Integer(123));
// sList.add(true);
// sList.add(new MyClass());

ArrayList<Integer> iList = new ArrayList<Integer>();
for(int i=0;i<10;i++){
iList.add(i);
}
for(int i=0;i<iList.size();i++){
System.out.println(iList.get(i));
}

ArrayList<MyClass> mList = new ArrayList<MyClass>();
for(int i=0;i<10;i++){
MyClass mc = new MyClass();
mList.add(mc);
}
for(int i=0;i<iList.size();i++){
System.out.println(mList.get(i).getNum());
System.out.println(mList.get(i).getStr());
}

}
}
-------------
MyClass.java
----------------------
class MyClass {
private int num;
private String str;

MyClass(){
num = 123;
str = "文字";
}

public void setNum(int num){
this.num = num;
}
public void setStr(String str){
this.str = str;
}
public int getNum(){
return num;
}
public String getStr(){
return str;
}
}
----------------------

【iterator】(反復子)

for(Iterator<String> it = list.iterator(); it.hasNext();) {
String name = it.next();
System.out.println(name);
}

it.hasNext() 次の要素があるかの確認。戻り値はboolean
it.next() 次の要素を得る

上記を更に略した記述。
拡張forループ
for (String name : list){
System.out.println(name);
}