--/--/-- (--) スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告 |


2011/06/29 (Wed) JAVA応用2日目(コレクションフレームワークとArrayList)

//ArrayListのサンプルコード

package test;

import java.util.ArrayList;
public class Test {
public static void main(String[] args){
//ArrayListクラスを生成
ArrayList<String> al = new ArrayList<String>();
al.add("AAAAA");
al.add("BBBBB");
al.add("CCCCC");
al.add("AAAAA");
al.add(2, "ZZZZZ");
//インデックス(i)を用いal(arrayList)を操作する
for(int i=0;i<al.size();i++){
System.out.println("["+i+"]"+al.get(i));
}
}
}


実行結果
[0]AAAAA
[1]BBBBB
[2]ZZZZZ
[3]CCCCC
[4]AAAAA



☆コレクションフレームワーク
◆Listインターフェイスを実装したクラス
◆Setインターフェイスを実装したクラス
◆Mapインターフェイスを実装したクラス
◆SortedSet・SortedMapインターフェイスを実装したクラス
◆Collectionスーパーインターフェイス
◆Iteratorインターフェイス
◆配列とArrayList
◆ArrayListのクラス生成

☆コレクションフレームワーク

Listインターフェイスを実装したクラス

ArrayList

配列を用い集合を管理するListインターフェイスを実装したクラス。よく使われる。

LinkedList

リンクリストを用い集合を管理するListインターフェイスを実装したクラス。

Setインターフェイスを実装したクラス

HashSet

ハッシュを用い集合を管理するSetインターフェイスを実装したクラス。

LinkedHashSet

挿入順を保持した集合を管理するSetインターフェイスを実装したクラス。

Mapインターフェイスを実装したクラス

HashMap

ハッシュを用い集合を管理するMapインターフェイスを実装したクラス。

LinkedHashMap

挿入順を保持したまま集合を管理するMapインターフェイスを実装したクラス。

※SetとMapはキーというタグがあるかどうかの違い。

SortedSet・SortedMapインターフェイスを実装したクラス

TreeSet
TreeMap

それぞれハッシュを用い集合を管理するインターフェイスを実装したクラス。

Collectionスーパーインターフェイス

Collction→List/Set等

スーパーインターフェイスのため直接オブジェクトの生成はできない。Collectionインターフェイスを実装したインターフェイス(Set/List)を実装したクラス(ArrayListなど)を介して利用する。

主要メソッド

①boolean add(E e)
指定された要素がこのコレクションに格納されていることを保証します (任意のオペレーション)。

②boolean contains(Object o)
コレクションに指定された要素がある場合に true を返します。

③Object[] toArray()
このコレクションの要素がすべて格納されている配列を返します。

Collectionsというクラスが別にある。このクラスのメソッドにはソートやシャッフルがあり、ソートをする際に便利である。

Iteratorインターフェイス

コレクション内の要素に順番にアクセスすることができる。

主要メソッド

①boolean hasNext()
繰り返し処理で次の要素がある場合trueを返す。

②Object next()
繰り返し要素で次の要素を返す。

③void remove()
基になるコレクションから反復氏によって最後に返された要素を削除する。

配列とArrayList

配列は事前にハコの数を決めてしまわなければならない。
ArrayListは足りない分のハコを自動で用意してくれる。

ArrayListのクラス生成

ArrayList al = new ArrayList();
空の文字列属性のArrayList(al)が生成される。

ArrayList al = new ArrayList();
空の整数属性のArrayList(al)が生成される。

al.add("AAA");
al.add("BBB");
al.add("CCC");

追加した順に配列に入る。
挿入場所を指定する場合、

al.add(3,"ZZZ");

インデックス3に"ZZZ"が挿入される。
インデックス3以降が繰り下げられるため要素数が膨大になると処理時間がかかる。
削除(remove)の場合も同様。そのため挿入削除のパフォーマンスは落ちる。

このサンプルは冒頭。

プログラミング | trackback(0) | comment(0) |


<<JAVA応用3日目(LinkedListとSetインターフェイス) | TOP | JAVA応用1日目(パッケージ)>>

comment











管理人のみ閲覧OK


trackback

trackback_url
http://kononushi.blog46.fc2.com/tb.php/519-50740726

| TOP |

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。