List 배열
<배열기반> - 방번호로 접근
Vector
ArrayList
(0번방, 1번방, 2번방 등등 이렇게 돌아가서 맨뒤에 추가하는게 편하다.)
<링크드 리스트 기반>
LinkedList
(동적으로 메모리를 할당을 받기때문에 필요할 때마다 노드를 하나 만들어서 데이터를 저장한다. 연결되어있어서 하나를 알면 다음거가 연결 연결 이렇게되어있음)
끝에추가하나 중간에 추가하나 속도에 차이가없다.
Map 배열
//Float f = new Float(3.14f); //래퍼 클래스.
// Object 형태로 업캐스팅 되어 저장되므로 클래스타입 아무거나 담을 수 있다. 기본타입도 담을 수 있다.
//이유는 오토박싱떄문이다~
//생성<타입한정자>
ArrayList<String> list = new ArrayList<>();
//add() 데이터 끝방에 추가
list.add("aaa");
list.add("bbb");
//aaa. bbb 이렇게 들어가있음.
//add(방번호, data) 지정한 위치에 데이터 추가
list.add(0, "ccc");
//ccc, aaa, bbb 이렇게됨
//set(방번호, new data) 지정한 위치의 데이터를 새 값으로 변경
list.set(0, "abc"); //abc, aaa, bbb
System.out.println(list);
//get(방번호) 지정한 방번호 요소 추출
String s = list.get(1); //1번방 요소 추출
System.out.println(s); //aaa
//size() 데이터 개수
System.out.println("size:" + list.size());
//루프로 요소 전체를 하나씩 추출.
for(String str:list) {
System.out.println(str);
}
for(int i=0; i<=list.size()-1; i++) {
System.out.println(list.get(i));
}
//contain(값) 값이 리스트에 있으면 true, 없으면 false 반환한다.
if(list.contains("aaa")) {
//indexOf(값) 값이 몇번째 방에 있는지 방번호 반환. 만약 없으면 -1반환한다.
System.out.println(list.indexOf("aaa") + "번째 방에 있음"); //몇번쨰 방에 있는지.
} else {
System.out.println("없다");
}
//remove(방번호) 방번호에 있는 데이터 삭제 -> 0번방에 있는애 삭제
list.remove(0);
System.out.println(list);
// //remove(값) 값을 찾아서 삭제 -> "aaa" 삭제
// list.remove("aaa");
boolean flag = list.remove("aaa");
if(flag) {
System.out.println("삭제가 완료되었습니다.");
} else {
System.out.println("없는 데이터입니다.");
}
//isEmpty() 리스트가 비어있으면 true, 아니면 false
//list.isEmpty();
if(list.isEmpty()) {
System.out.println("리스트가 비었습니다.");
} else {
list.clear(); //모든 요소 삭제.
System.out.println("모든 요소가 삭제되었습니다.");
}
제출은 Dao만 제출~