コレクションフレームワーク - 実装クラス(ArrayListの)

まず、基本的な意味

コレクションインタフェースインタフェース→リスト→アレイの実装クラス。
名前:配列の配列です。

プロジェクト 配列リスト ベクター
原則 とともに とともに
機能 とともに とともに
スレッドの安全性 マルチスレッド環境、スレッド同期の問題を管理するためのプログラマ スレッドセーフ
長さの成長 元の長さの50%、メモリスペースを節約 元の長さの100%
使用の開発優先順位 ArrayListの優先順位の最新バージョン 続きます

第二、長--size()

public class ListTest {
  public List coursesToSelect;
  public ListTest() {
    this.coursesToSelect = new ArrayList();
  }
  public static void main(String[] args){
    System.out.println(coursesToSelect.size());
  }
}

に第三に、アクセス

3.1オブジェクトを知っています

3.1.1のindexOf(オブジェクトo)

最初のインデックスが表示され
、インデックスがある、または-1なし

Course cr1 = new Course("1", "语文");
System.out.println(coursesToSelect.indexOf(cr1));

3.1.2のlastIndexOf(オブジェクトo)

インデックスが表示された最後の時間
インデックスがある、または-1なし

Course cr1 = new Course("1", "语文");
System.out.println(coursesToSelect.lastIndexOf(cr1));

3.2 --get知らインデックス()

(int型のインデックス)を取得

forループ3.2.1

public void testGet() {
  for (int i = 0; i < coursesToSelect.size(); i++) {
    Course cr = (Course) coursesToSelect.get(i);
    System.out.println("课程:" + cr.getId() + ":" + cr.getName());
  }
}

3.2.2 foreachループ

foreachのは、イテレータの速記です。

public void testForeach() {
   /**
    * 为什么使用Object?
    * 原因是当一个元素存入集合中时,其类型被忽略,存储为Object型。
    */
   for (Object obj : coursesToSelect) {
     Course cr = (Course) obj;
     System.out.println("课程:" + cr.getId() + ":" + cr.getName());
   }
}

3.2.3イテレータ--Iterator

特徴:データは、コレクションの要素を横断するために、保存することができません。それは存在している必要があり、コレクションに依存します。


public void testIterator() {
    // 通过集合的iterator方法,创建迭代器的实例。
    Iterator it = coursesToSelect.iterator();
    // 未知次数时,使用while循环。
    while (it.hasNext()) {
      Course cr = (Course) it.next();
      System.out.println("课程:" + cr.getId() + ":" + cr.getName());
    }
}

3.3コピー--clone()

このArrayListのインスタンスのシャローコピーを返します。


第四に、)(--add増加

4.1エレメントターゲットは--add()

増加--add(E電子)の終わりを4.1.1

Course cr1 = new Course("1", "语文");
coursesToSelect.add(cr1);

4.1.2増加のどこ--add(int型のインデックス、E要素)

Course cr2 = new Course("2", "数学");
coursesToSelect.add(0, cr2);

4.2要素)(--addAllオブジェクトの配列であります

エンド4.2.1増加--addAll(コレクションC)

Course[] courses = { new Course("3", "英语"), new Course("4", "政治") };     
// 数组。不可以直接添加到集合中,需要先转化为List集合。    
coursesToSelect.addAll(Arrays.asList(courses));

4.2.2増加はどこでも--addAll(int型のインデックス、コレクションC)

Course[] courses2 = { new Course("5", "历史"), new Course("6", "地理") };
coursesToSelect.addAll(2, Arrays.asList(courses2));

V.(--removeを削除します)

5.1インデックス知ら--remove(int型のインデックス)

coursesToSelect.remove(1);

5.2オブジェクトを知っています

5.2.1場合、ターゲット要素--remove(オブジェクトo)

Course cr = (Course)coursesToSelect.get(1);
coursesToSelect.remove(cr);

5.2.2要素は、オブジェクトの配列であります

5.2.2.1 --removeAll(コレクションc)を削除

Course[] courses = { (Course) coursesToSelect.get(0), (Course) coursesToSelect.get(1) };
coursesToSelect.removeAll(Arrays.asList(courses));

5.2.2.2間接--retainAll(コレクションc)を削除

Course[] courses = { (Course) coursesToSelect.get(0), (Course) coursesToSelect.get(1) };
coursesToSelect.retainAll(Arrays.asList(courses));

5.3空--clear()

coursesToSelect.clear();

第六に、--set変更(int型のインデックス、E要素)

coursesToSelect.set(1, new Course("7", "物理"));

セブン比較します

7.1 --containsを含み(オブジェクトo)

Course cr1 = (Course)coursesToSelect.get(1);
Course cr2 = new Course("1", "语文");
System.out.println(coursesToSelect.contains(cr1)); // true
System.out.println(coursesToSelect.contains(cr2)); // false

7.2が空--isEmptyあります()

System.out.println(coursesToSelect.isEmpty());

八、発注

8.1コンパレータ

「フレームワークの設定 - ツール(コレクション)」を参照してください。

8.1上昇--sort(コンパレータC)


(4)のtoArray()
最初から最後の要素まで)適切な順序でのすべての要素のリストは、アレイを含む返し。


(5)のtoArray(T [] a)は
このリスト内の正しい順序を返し、すべての配列要素は、(最後の要素から最初に)含み、返される配列の実行時の型は、指定された配列型を実行することです。


おすすめ

転載: blog.csdn.net/lizengbao/article/details/86688929
おすすめ