コレクション一般的に使用される機能
- パブリックブールアドオン(E E):現在のコレクションに指定されたオブジェクト。
- 公共のボイドをクリア():すべての要素のコレクションを空にします。
- パブリックブール削除(E E):現在のコレクションに指定されたオブジェクトを削除します。
- パブリックブールは、(E e)は含まれています。現在のコレクションが指定されたオブジェクトが含まれているかどうかを判断します。
- パブリックブールのisEmpty():これは、セットが空であるか否かを判断します。
- 公共int型のサイズ():セット内の要素数を返します。
- パブリックオブジェクト[]のtoArray():配列に格納された要素の集合。
- Collections.shuffle(pokerBox):機能を破壊
セットが要素を持っていませんが、あればヒント::コレクション要素を実行するには、また、イテレータのnextメソッドを使用し続けた場合、エラーjava.util.NoSuchElementException何の要素は発生しません。
ジェネリックを使用するメリット
public class GenericDemo2 {
public static void main(String[] args) {
Collection<String> list = new ArrayList<String>();
list.add("abc");
list.add("itcast");
// list.add(5);//当集合明确类型后,存放类型不一致就会编译报错
// 集合已经明确具体存放的元素类型,那么在使用迭代器的时候,迭代器也同样会知道具体遍历元素类型
Iterator<String> it = list.iterator();
while(it.hasNext()){
String str = it.next();
//当使用Iterator<String>控制元素类型后,就不需要强转了。获取到的元素直接就是String类型
System.out.println(str.length());
}
}
}
例カスタムジェネリッククラス
public class MyGenericClass<T> {
//没有MVP类型,在这里代表 未知的一种数据类型 未来传递什么就是什么类型
private T t;
public void setMVP(T t) {
this.t = t;
}
public T getT() {
return t;
}
}
これは、一般的なメソッドが含まれています
定義フォーマット:修飾子戻り型メソッド名(パラメータ)<汎用の可変代表> {}
public class MyGenericMethod {
public <MVP> void show(MVP mvp) {
System.out.println(mvp.getClass());
}
public <MVP> MVP show2(MVP mvp) {
return mvp;
}
}
これは、一般的なインタフェースが含まれています
修飾子インタフェースインタフェース名<表す変数汎用> {}
//定义类时确定泛型的类型
public interface MyGenericInterface<E>{
public abstract void add(E e);
public abstract E getE();
}
//始终不确定泛型的类型,直到创建对象时,确定泛型的类型
public class MyImp2<E> implements MyGenericInterface<E> {
@Override
public void add(E e) {
// 省略...
}
@Override
public E getE() {
return null;
}
}
場合は、一般的なクラスやインタフェース、データ転送、不確実性、汎用タイプ、ワイルドカードによって<?>図。しかし、ジェネリック医薬品のワイルドカードの使用に一度、唯一の共通メソッドオブジェクトクラスを使用し、収集方法自体の要素を使用することはできません。
データの構造
スタック、キュー、配列、リンクリスト、および赤黒木:私たちは、共通のデータ構造になります