JAVA SEの基本的な概要--11:コレクションとイテレータ

0x01.Collection

概要:

  • セット:Javaで提供回収容器は、複数のデータを格納するために使用することができます。
    メモリ構造コレクションは、2つのカテゴリ、単一の、すなわち、集合に分割することができるに従ってjava.util.Collectionと複列セットjava.util.Map

  • コレクション:特定のルールを満たす一連の要素を格納するための別個のコレクションインタフェースルートは、それがそれぞれ二つの重要なサブインターフェースを有し、java.util.Listそしてjava.util.SetここでList特徴的な要素が発注され、要素を繰り返すことができます。Set障害は、要素、及び反復しないことを特徴とします。Listメインインターフェイスの実装クラスがあるjava.util.ArrayListjava.util.LinkedListSetメインインタフェースの実装クラスを持っているjava.util.HashSetjava.util.TreeSet

  • コレクション自体は、それはjava.utilパッケージに格納され、ツールです。ではCollection、フレームコンテンツの最も一般的な単一のセットのインターフェース定義。

  • 定義共通の単一メソッドのセット(およびリストセット)のコレクションでは、これらの方法は、すべての単一のセットを操作するために使用することができます

一般的な方法:

public boolean add(E e)// 把给定的对象添加到当前集合中 。
public void clear()//清空集合中所有的元素。
public boolean remove(E e)//把给定的对象在当前集合中删除。
public boolean isEmpty()//判断当前集合是否为空。
public boolean contains(E e)//判断当前集合中是否包含给定的对象。
public Object[] toArray()//把集合中的元素,存储到数组中。
public int size()//返回集合中元素的个数

0×02。イテレータ

概要:

  • イテレーション:一般的なコレクション要素のコレクションを取得します。そこに、ある要素が、取り出しもはやそこに取り上げかどうかを決定しないし続ける配置する場合、要素の必須を服用する前に最初のセットは、決定された要素がありません。これは、コレクション内のすべての要素のすべてのアウトを持っています。この実施形態は、反復と呼ばれる専門用語を取ら。
  • JDKは、インターフェイスを提供しますjava.util.IteratorIteratorインターフェースは、Javaの集合であるが、それは付属していますCollectionMapインターフェイスは、異なるCollection界面Mapの界面は、主ストア要素に使用され、Iterator主に(すなわち、トラバース)反復するために使用されるCollection要素を、従ってIteratorオブジェクトもイテレータとして知られています。
  • コレクション要素の間、セットに要素がない場合は、削除するだけでなく、何の要素は発生しませんイテレータのnextメソッド、エラーjava.util.NoSuchElementExceptionを継続して使用します。
  • イテレータイテレータオブジェクトセット、コレクション内の要素を追跡する内部ポインタ方法を横断しています。
  • 次のメソッド・イテレータの最初の呼び出しは、反復子のインデックスが戻って1を移動するとき、イテレータは、次のメソッドを呼び出す前に、反復子のインデックスは、最初の要素の前に、最初に指して、任意の要素を指していません要素は、次のメソッドの呼び出しが再び、反復子のインデックスは、コレクションの最後に達したことを示す、のhasNextメソッドの戻りの偽まで、第二の要素と要素の戻りを指し、そしてようにすること要素と戻り、終了横断要素。

使用するIteratorインターフェイス:

  • public Iterator iterator():コレクション内の要素を横断するためのイテレータの対応するセットを取得します。

以下のような:

Collection<String> objs = new ArrayList<String>;//多态
objs.add("aa");
objs.add("bb");
objs.add("cc");
Iterator<String> it = objs.iterator();//获取迭代器
 while(it.hasNext()){ //判断是否有迭代元素
 	 String s = it.next();//获取迭代出的元素
 	 System.out.println(s);
 	}

拡張forループ:

  • 拡張forループ(各サイクルのために呼び出される)JDK1.5はアレイやコレクションをループに設計された高レベルのためのループから出てきました。その内部には、実際には、原則としてイテレータイテレータなので、トラバーサルのプロセスは、収集作業の要素を追加したり、削除することはできません。

フォーマット:

for(元素的数据类型  变量 : Collection集合or数组){ 
	......
}

例えば:

Collection<String> objs = new ArrayList<String>;//多态
objs.add("aa");
objs.add("bb");
objs.add("cc");
for(String a:objs){
	System.out.println(a);
}	
公開された51元の記事 ウォン称賛36 ビュー1353

おすすめ

転載: blog.csdn.net/ATFWUS/article/details/104492074