[IT]/java
javajava.Collection.List
givemebro
2021. 3. 5. 15:13
반응형

List 계열 : 순수를 보장(인덱스로 관리)
ArrayList(검색에 용이)
LinkedList(추가, 수정, 삭제에 용이)
package step5;
import java.util.ArrayList;
public class TestList1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("아이유");
// list.add(100);
list.add("아이유");
list.add("박보검");
System.out.println(list);
System.out.println(list.size());
System.out.println(list.get(2));
list.remove(1);
System.out.println(list);
list.set(1, "이효리");
System.out.println(list);
System.out.println(list.contains("아이유"));
}
}
[아이유, 아이유, 박보검]
3
박보검
[아이유, 박보검]
[아이유, 이효리]
true
package step6;
import java.util.ArrayList;
public class TestList2 {
public static void main(String[] args) {
/*
* ArrayList list = new ArrayList(); list.add(new FriendDTO("박보검",300)); //
* generic을 안 쓸때의 문제 list.add("햄버거"); System.out.println(list); // list 요소의
* name만 모두 출력 for(int i=0;i<list.size();i++) { // object casting이 필요 / object
* type으로 저장되어있기 때문 System.out.println(((FriendDTO) list.get(i)).getName()); }
*/
// generic 적용시 객체 캐스팅 절차 감소와 데이터 안정성을 보장
ArrayList<FriendDTO> list = new ArrayList<FriendDTO>();
list.add(new FriendDTO("박보검", 300));
list.add(new FriendDTO("아이유", 400));
list.add(new FriendDTO("권민경", 1200));
// list.add("햄버거"); 다른 데이터 타입은 추가 불가
// 부모 또는 상위 인터페이스의 하위 객체들은 가능(is a 관계 허용)
System.out.println(list);
for (int i = 0; i < list.size(); i++) {
// 별도의 캐스팅이 필요 없음
System.out.println(list.get(i).getName());
}
}
}
java.Generic
Generic 저장할 자료(데이터)의 타입을 지정 > 객체 캐스팅 절차를 감소하고 데이터의 안정성을 가지게 함 만약 별도의 제네릭 선언이 없으면 최상위 클래스인 Object 타입으로 인식 이 경우 Object cas
broscoding.tistory.com
반응형