コレクション-1
🏹 コレクション
Javaが提供するデータ構造を担当するフレームワーク→データ構造の集合
追加、削除、並べ替えなどの機能を簡略化でき、アルゴリズムXを実装する必要がある
java.utilパッケージに含める
🏹 コレクションの利点
アレイ内の問題
1)指定したサイズは一度に変更できません.
2)配列に記録されている中間位置データの追加・削除が困難である.
3)複数種類のデータを格納できません.
🔻 コレクションの利点
1)大きさに制限はありません.
2)追加、削除、並べ替えなどの機能処理を簡単に解決する.
3)複数種類のデータを格納できる.
基本資料型を保存する必要がある場合は、Wrapperクラスを使用してください.
🏹 集合の主なインタフェース
🏹 Listインタフェース
データ構造の順序付け(アレイのアップグレード形式)
indexで順序を保つことで、オブジェクトを繰り返し格納できます.
ArrayListクラスが一番多い!
類似アレイのリスト(検索用)
デフォルトジェネレータで生成する場合、初期容量は10に設定されます.
Vectorクラス
Vectorクラスのアップグレードバージョン→ArrayListクラス
リストオブジェクトの中で最も性能が悪い.
LinkedListクラス
各要素が行で接続されているリスト(追加および削除用)
オブジェクトを追加または削除する場合は、インデックスの前後のリンクを変更するだけです.
頻繁に追加および削除すると、ArrayListよりもパフォーマンスが優れます.
🏹 Listシリーズの主な方法
add(E):リストの末尾にオブジェクトを追加
list.add(new Dancer("아이키", 89));
add(int index,E):指定したインデックス位置にオブジェクトを追加
list.add(3, new Dancer("허니제이", 87));
get(int index):インデックスの場所に格納されているオブジェクトを返します.
list.get(0);
isEmpty():集合が空の場合はtrueまたはfalseを返します.
size():リストに格納されているオブジェクトの数を返します.
オブジェクトセット(int index,E e):インデックスの場所に格納されているオブジェクトをeに変更し、既存のオブジェクトに戻ります.
Object obj = list.set(2, new Dancer("립제이", 88));
オブジェクトの削除(int index):indexの場所に格納されているオブジェクトを削除し、既存のオブジェクトに戻ります.
Object obj = list.remove(1);
indexOf(Object o):パラメータなどのオブジェクトが存在するインデックス位置を返します(-1が返されない場合)
🏹 強化されたfor文(各文)
集合または配列内のすべての要素に最初から最後まで順次アクセスできます.
for (하나씩 꺼내서 담을 변수 선언 : 컬렉션 또는 배열명) { }
例)リストに格納されているすべてのデータを出力するfor (Object obj : list) { System.out.println(obj); }
🏹 Generic:<E>
クラス、メソッド、およびコレクションで使用されるクラスタイプを1つのタイプに制限する機能→タイプ制限
🚩 ソースコード
Dancerオブジェクトの名前をリストから出力
public void example1() {
ArrayList list = new ArrayList();
for (int i = 0; i < list.size(); i++) {
if (list.get(i) instanceof Dancer) {
// list의 i번째 요소가 Dancer 객체의 주소를 참조하고 있는 경우 (true)
System.out.println(((Dancer)list.get(i)).getName());
// Object -> Dancer 다운 캐스팅
} else
System.out.println(list.get(i));
}
}
public void example2() {
ArrayList<Dancer> list = new ArrayList<Dancer>();
// Dancer 타입으로 제한된 ArrayList 객체 생성
// 생성된 ArrayList에는 Dancer만 저장 가능하므로, 저장된 데이터는 모두 Dancer이다.
// 향상된 for문으로 모두의 이름만 출력
for (Dancer d : list) {
// list가 Dancer 타입으로 제한되어 있기 때문에
// 하나씩 순서대로 꺼내서 저장하는 변수의 타입도 Dancer이다. (instanceof 불필요)
System.out.println(d.getName());
// d가 Dancer 타입이기 때문에 다운캐스팅 불필요
}
}
Reference
この問題について(コレクション-1), 我々は、より多くの情報をここで見つけました https://velog.io/@layssingcar/컬렉션-Collection-1テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol