第12章のJavaの基礎拡張forループコレクション、イテレータとジェネリック

Collectionインタフェースの一般的な方法:
*すべてのインターフェイスが有するサブサブクラスである
メソッドのセット*:CRUD
*
*パブリックブール追加(E E); //戻り値は、添加元素が正常に追加されているかどうかを示す
*公共ブール削除を(オブジェクトo); //要素を削除し、戻り値は、正常に削除されているかどうかを示す
* NO修飾法
要素を照会する方法はないが、*
*公共のint型のサイズ(); //クエリの集合のコレクション内の要素の数
* //他の方法:
*公共ボイドクリア(); //クリア組
*パブリックオブジェクト[]のtoArray() ; //は、 配列に設定するスイッチ
* @決意方法
*パブリックブール(オブジェクトO)を含む ; //は、 指定されたコレクションに含まれるか否かを判断します要素の

コレクションは、コレクションの下、多くのサブクラスがあり、インタフェースで、
*添字はいくつかのサブクラス、サブクラスおよびいくつかの添字なしを持っている、インデックスが行き来することができません
*
すべての方法の一般的なコレクションを定義することによって*コレクションサブクラスを:iteratorメソッド
*
*収集ステップのセットを反復を使用して:
*
* 1(することができるだけ収集サブクラス)オブジェクトのセットを定義
*
(* 2 .iteratorコレクションオブジェクト)
*
* 3.コールイテレータ.hasNext()イテレータ.next()
*
イテレータがfalseを教えてくれまで* 4.ステップ3を繰り返している
*
すべてのコレクション実装クラスを使用するには、*以上の方法
*


*拡張forループ:foreachのは有名なサイクル
*フォーマット:
*(変数名の要素のデータ型:セット/アレイ)のために{
* syso(変数名);
*}
*
*
*達成するために反復子を使用して、下にある拡張forループ
*
*
*エンハンスメント場合リサイクル?
*使用しているときにのみ表示データに横断する必要がある場合

のpublic static無効メイン(文字列[] args){
// TODO方法、スタブを自動生成
//配列トラバース
// int型[] NUMS = {1,2,3 、 } -4,5-;
//(INT NUM:NUMS)用{
//のSystem.out.println(NUM);
//}
コレクション<整数> =新しい新しいNUMSのArrayList <整数>();
nums.add(10)。
nums.add(20である);
nums.add(30);
nums.add(40);
//イテレータで1。
2 @ループを補強する。
(整数I:NUMS)のために{
nums.add(50)。
System.out.println(I);
}
// foreachのショートカット+ ALT + /

*使用イテレータオブジェクトのコレクションをループに、
「百度」の文字列が表示された場合*、その後、コレクションに、大文字の「百度」の文字列を追加
*
:例外がありました*
*同時(同時)変更(修正)例外:同時変更を異常
*あなたは、コレクションを反復処理を使用し、あなたが横断中にコレクションに要素を追加または削除する場合
*
*イテレータオブジェクトは時間の外れ、メモリ機能を持っている、セット内の要素数を記録
する*反復あなたがプロセスを追加した場合、メモリ長と異なる実際の長さそう


ジェネリック*:タイプが不明である
*フォーマット:<E>、<P>、<Q>、<K>、<V>
。* 1。彼は、セキュリティ・メカニズムとは?(転送ランタイムがコンパイル時にする)
2.私たちはコード量削減*
キャストを避ける*
*
*私たちが開発に定義されているJavaのジェネリック医薬品を大量に使用しますが
*
*私たちはめったに自分自身の使用のジェネリックを書かない

ジェネリック<E>、ArrayListを<E>ジェネリック医薬品への意味
* Eが可変である、参照データ型を受け取るために待っている
*
* <E> Javaで使用クラス、インターフェイス、メソッドで使用することができます
*
* 1.一般的な<E> クラスでは、ArrayListを<E>のjavaの

*
* 2.汎用<E>使用法:
*形式:{...}パブリック<T>型のメソッド名(T tの)を返す
場合、コールを決定するため*ジェネリックジェネリックメソッドを?再び呼び出すかを決定する時期を決定するために
使用されるインタフェース上の* 3.一般的な<E>を:Javaのコレクション<E>内の
*一般的なインタフェースが決定する一般的な?
* 3.1インタフェースを実装する実装クラスは、インターフェイスが決定されたときジェネリック
* 3.2ジェネリック医薬品は、不確実な達成するだけでなく、継承された汎用的なインタフェース、
*実装クラスのオブジェクトを作成することが決定し

、パブリッククラスGenericDemo02 {

静的な無効メインパブリック(文字列[]引数){
// TODO自動生成されたメソッドスタブ
//汎用インタフェース3。
//新しい新規MyClass2のMyClass2の<string> = MC2の<string>();
// mc2.show(「ABC 「);
MyClass2 <整数> = MC3新しい新しいMyClass2 <整数>();
mc3.show(12である);
}
//、2つの整数を見つけるクラスの数と2つのfloatを見つけ、二種類の和の数を倍増そして
パブリック静的<T> T SUM(NUM1 T、TのNUM2){
//戻りNUM1をNUM2の+;
NUM1を返す;
}

//パブリック静的SUMフロート(NUM1フロート、フロートNUM2)は{
+ NUM1をNUM2を返す; //
/ /}

/ *
*使用される一般的な方法
* /
パブリック静的ボイドdemo02は(){
//人作成
者の<string> P =人新しい新規の<string>();
p.show(123); //は、次に123を転送しますこの一般的なTは整数であります
p.show( "123"); //通過"123"、これはジェネリック型文字列Tである
}
/ *
*ジェネリッククラス使用
* /
パブリック静的ボイドdemo01を(){
//ジェネリッククラス1。オン
; //人新しい新しいP =人()
// p.setName(123); //パラメータタイプは文字列であるため、死ぬ
//人の<string> P =人新しい新規の<string>();
// p.setName ( "ジョン・ドウ");
//文字列名= p.getName();
人<整数> P2 =人新しい新しい<整数>();
p2.setName(123);
整数p2.getName I =();
}

}


パブリッククラスパーソン<E> {//このクラスは、として知られている一般的なクラスである
E名。

公共EのgetName(){
戻り名。
}

{//一般的な方法のsetNameボイドクラス公開(E名)により使用
this.name =名;
}

パブリック<T> T表示(T E){//ジェネリックメソッド
//System.out.println(e );
Eを返します;
}

}

*
*ジェネリックワイルドカード:?任意のタイプ
*
*は複素形式:
//種類文字または文字列サブクラスのいずれかを示す:*ザがString延び
*は動物:? //延び
*
*スーパー動物:? //このことを示しているが種類の動物動物のどちらかの親のどちらか
*でのArrayList <E>内のメンバー方法:
*ブールのaddAll(<?拡張E>コレクション・C)
*
* /

*
* 1.メモリカード54のセットを作成
2.シャッフル*(要素の集合は、スクランブル)
* 3ディーラー(人はターンA)
* 4.ディスプレイカード(個人カード3、カード表示家主)
*
*
* /
publicクラスDouDiZhuDemo {
公共無効メイン静的(文字列[] args)を{
//カードを作成する1、コレクションを保存する。。
のArrayList <文字列> =新しい新しいカードのArrayList <文字列>();
// +カードバリューカードのスーツを追加
文字列[] NUMS = { "A "、 "2"、 "3"、 "4"、 "5"、 "6"、 "7"、 "8"、 "9"、 "10"、 "J"、 "Q"、 "K"};
文字列[] = {色"♠"、 "♥"、 "♣"、 "♦"};
//色モザイクNUM +
ため(文字列NUM:NUMS){
(文字列カラー用:色){
文字列カードカラー= NUM +;
cards.add(カード);
}
}
cards.add( "大S");
cards.add( "小S");
2 // Javaはシャッフリングを提供します。方法Collections.shuffle(セット);
Collections.shuffle(カード)セット内の要素の//破壊配列
。ライセンシング3 @
@を定義する3つの組
のArrayList <ストリング> P1 =新規のArrayList <ストリング>();
ArrayListの<文字列> P2 =新しいのArrayList <文字列>();
ArrayList <ストリング> P3 =新しい新規のArrayList <ストリング>();
//カードの定義された家主の設定
のArrayList <ストリング>新しい新しいDP =のArrayList <ストリング>();
//反復カード54
{(;;私は(cards.sizeを<)私は++ I 0 = INT)のための
文字列= cards.getカード(I);
//最後の3がカードに保存され、送信されない場合は、家主を設定
// I 53 51 52である
(I> = 51である){IF
//送信しない
(カード)dp.add;

}他{
// 0.1 P1 P1 P2 2、P3 3
IF(I. 3%== 0){
ライセンスに// P1
p1.add(カード);
}そうIF(I == 3 1%){
; p2.add(カード)
他} {
p3.add(カード);
}
}
}
//ディスプレイカード4(すべてのカードを印刷します。 )//
//メソッドを呼び出し
、lookCard(P1)
; lookCard(P2)
; lookCard(P3)
; lookCard(DP)

}
//カード法読み取る
)パブリック静的ボイドlookCard(のArrayList <ストリング>カード{
:文字列カード(のためのカード){
System.out.print(カードの+ "");
}
のSystem.out.println();
}
}

おすすめ

転載: www.cnblogs.com/haizai/p/11071929.html